Comment changer le nom du package dans Flutter?


160

Existe-t-il un moyen de modifier le nom du package du projet Flutter?

Je souhaite modifier le nom du package et le nom de l'application dans le projet Flutter.


4
Recherchez et remplacez simplement toutes les occurrences de l'ancien nom de package dans tous les fichiers. Il n'y a pas encore de commande ou similaire pour mettre à jour le nom.
Günter Zöchbauer

3
Lorsque vous créez un nouveau projet, vous pouvez spécifier le nom du package avecflutter create --org com.domain app_name
Victor

Réponses:


289

Pour le nom de l'application Android

Modifiez le nom de l'étiquette dans votre AndroidManifest.xmlfichier:

 <application
    android:name="io.flutter.app.FlutterApplication"
    android:label="TheNameOfYourApp"   

Pour le nom du package

Modifiez le nom du package dans votre AndroidManifest.xmlfichier:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">

Également dans votre build.gradlefichier dans le dossier de l'application

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Enfin, modifiez le package dans votre MainActivity.javaclasse (si MainActivity.java n'est pas disponible, vérifiez MainActivity.kt)

    package your.package.name;

    import android.os.Bundle;
    import io.flutter.app.FlutterActivity;
    import io.flutter.plugins.GeneratedPluginRegistrant;
    public class MainActivity extends FlutterActivity {

Modifiez le nom du répertoire:

De:

  android\app\src\main\java\com\example\name

À:

  android\app\src\main\java\your\package\name

RÉVISÉ: 27-déc-18

pour le nom du paquet juste changer dans la construction build.gradleseulement

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Pour iOS

Modifiez l'identifiant du bundle à partir de votre Info.plistfichier dans votre ios/Runnerrépertoire.

<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>

METTRE À JOUR

Pour éviter de renommer le package et l'identifiant du bundle, vous pouvez démarrer votre projet en utilisant cette commande dans votre terminal:

flutter create --org com.yourdomain appname

1
J'ai également dû mettre à jour le nom du répertoire ci-dessous (en remplaçant 'example' par 'woods') C: \ Users \ andytwoods \ IdeaProjects \ gear_log \ android \ app \ src \ main \ java \ com \ woods \ gearlog
andyw

1
Et pour iOS?
Suragch

10
Mon identifiant de lot est $(PRODUCT_BUNDLE_IDENTIFIER). Où se cache cette variable?
Suragch

3
PRODUCT_BUNDLE_IDENTIFIER est stocké à plusieurs endroits dans le fichier project.pbxproj du répertoire ios / Runner.xcodeproj.
Safa Alai

3
Il est à noter que l'appID doit être au format de 3 mots séparés par des points.
Raj Krishnan R

24

Changer le nom manuellement ne semble pas fonctionner, génère des erreurs de gradation, eh bien dans mon cas, cela génère une erreur.

Je crée donc généralement un nouveau projet de flutter.

J'utilise la commande mentionnée ci-dessous pour créer une nouvelle application de flutter

flutter create --org com.yourdomain appname

votre projet aura le nom du package comme -> com.yourdomain.appname


si vous souhaitez simplement conserver le nom de votre package, com.appnameapportez les modifications ci-dessous

flutter create --org com appname

pour ajouter java au lieu de kotlinpour androidajouter-a java

flutter create -a java --org com.yourdomain appname

et c'est assez rapide aussi
griffins

2
'flutter create --org com.yourcompany --project-name new_app_name.' (ajoutez le point si vous êtes à l'intérieur du projet existant - vous devez d'abord effacer les dossiers android et ios pour les régénérer). FAIRE UNE SAUVEGARDE devrait être une condition préalable importante pour la réponse.
Tommie C.

21

Android

Sous Android, le nom du package se trouve dans le fichier AndroidManifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    package="com.example.appname">

iOS

Sous iOS, le nom du package est l'identifiant du bundle dans Info.plist:

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

qui se trouve dans Runner.xcodeproj / project.pbxproj :

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

Changer le nom

Le nom du package se trouve à plusieurs emplacements, donc pour changer le nom, vous devez rechercher dans tout le projet les occurrences de votre ancien nom de projet et les changer toutes.

Android Studio et VS Code:

  • Mac: Command+ Shift+F
  • Linux / Windows: Ctrl+ Shift+F

Merci à diegoveloper pour son aide avec iOS.

Mettre à jour:

Après être revenu sur cette page à plusieurs reprises, je pense qu'il est juste plus facile et plus propre de démarrer un nouveau projet avec le bon nom, puis de copier les anciens fichiers.


19

Modifier l' nameattribut dans pubspec.yaml (ligne 1)

Pour le nom de l'apk, changez android:label enAndroidManifest.xml


1
Le changement MainActivity.java ou mainActivity.kt est requis
Epsi95

19

Pour ceux comme moi qui n'aiment pas modifier des fichiers spécifiques, j'ai utilisé https://pub.dev/packages/rename .

Installation: pub global activate rename

Et puis, en cours d'exécution: pub global run rename --bundleId com.example.android.app --target android


8

Voici comment j'ai renommé le package pour iOS et Android

  1. Accédez à build.gradle dans le module d'application et renommez applicationId "com.company.name"
  2. Accédez à Manifest.xml app/src/mainet renommez package="com.company.name"etandroid:label="App Name"
  3. Accédez à Manifest.xml dans app/src/debuget renommezpackage="com.company.name"
  4. Accédez à Manifest.xml dans app/src/profileet renommezpackage="com.company.name"
  5. Aller app/src/main/kotlin/com/something/something/MainActivity.ktet renommerpackage="com.company.name"
  6. Allez dans app/src/main/kotlin/et renommez chaque répertoire pour que la structure ressemble àapp/src/main/kotlin/com/company/name/
  7. Accédez à pubspec.yamldans votre projet et changez name: somethingen name: name, exemple: - si le nom du package est com.abc.xyzlename: xyz
  8. Accédez à chaque fichier de fléchettes dans le dossier lib et renommez les importations avec le nom modifié.
  9. Ouvrez XCode et ouvrez le fichier Runner et cliquez sur Runner dans l'explorateur de projet.
  10. Allez dans Général -> double-cliquez sur Bundle Identifier -> renommez-le en com.company.name
  11. Accédez à Info.plist, cliquez sur Nom du bundle -> renommez-le en votre nom d'application.
  12. fermez tout -> accédez à votre projet de flutter et exécutez cette commande dans le terminal flutter clean

6

modifier tous les fichiers AndroidManifest.xml de votre projet Flutter, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) et (app / src / main / AndroidManifest.xml ) et (app / src / profile / AndroidManifest.xml )

bonne apparence !!


Merci Percy J'étais confronté à ce problème, j'ai trouvé votre réponse.
Développeur

4

Selon la documentation officielle de Flutter, il vous suffit de changer le répertoire ApplicationIdin app/build.gradle. Ensuite, vous devez simplement créer votre apk et le nom du package du fichier manifeste sera modifié en fonction de celui que ApplicationIdvous avez modifié build.gradle. En raison du scintillement lors de la construction d'un apk et d'un google play, les deux ApplicationIdprennent en compte build.gradle. Cette solution a fonctionné pour moi.

source: Documentation officielle


3

Mis à jour Vous devez changer le nom du package en nom de package souhaité dans ces cinq emplacements.

1.) src/profile/AndroidManifest.xml
2.) src/debug/AndroidManifest.xml
3.) src/main/AdroidManifest.xml
4.) build.gradle .
       defaultConfig {
           applicationId
5.) MainActivity.java on "package"

la dernière étape est de courir flutter clean


3

Sur le code Visual Studio

Edition> Remplacer dans les fichiers

vs code remplacer dans les fichiers

Sur le studio Android

1. Faites un clic droit sur votre projet> Remplacer dans le chemin

remplacer dans le chemin

2. Écrivez votre ancien package et votre nouveau package> Tout remplacer

remplacer toutes les captures d'écran


omg, tu es juste le meilleur
N Sivaram

1

J'avais deux fichiers manifest.xml dans ma section d'application, donc je devais changer le nom du package dans les deuxIçi vous pouvez voir


0

Vous pouvez suivre cette documentation officielle de Google: https://developer.android.com/studio/build/application-id.html

L'ID d'application doit être modifié dans Build.gradle, tandis que le nom du package peut être modifié dans AndroidManifest.xml.

Cependant, il faut faire attention en changeant le nom du package.

De plus, lors du téléchargement de l'application, il faut faire attention car elle correspond à l'ID d'application de l'application précédemment téléchargée avec le nouveau téléchargement.


0

Sous Android, modifiez l'identifiant de l'application dans

> build.gradle

changement de fichier et iOS

> nom du bundle à partir des paramètres du projet.


0

Même si ma réponse ne sera pas acceptée comme la bonne réponse, je pense juste que toutes ces réponses ci-dessus m'ont causé plus de problèmes, voici comment je l'ai résolu

  1. Obtenez Sublime Text (fou, non? Non, suivez mes étapes)
  2. Cliquez sur le fichier et sélectionnez le dossier ouvert, puis choisissez le dossier du projet sur lequel vous travaillez
  3. Maintenant, cliquez sur Rechercher dans les onglets et sélectionnez rechercher dans les fichiers ou faites simplement Ctrl+ Shift+ F (pour les utilisateurs de Windows, pour les utilisateurs de mac, vous connaissez déjà l'exercice)
  4. Maintenant, copiez et collez exactement le nom du package que vous souhaitez modifier dans la section Rechercher et collez dans la section de remplacement par quoi vous souhaitez remplacer le nom du package.
  5. Cliquez sur TROUVER (ne cliquez pas encore sur REMPLACER).
  6. Maintenant, cliquez sur Rechercher liste tous les noms de packages disponibles dans votre projet qui correspondent à vos critères de recherche, si vous en êtes satisfait, répétez à partir de non. 3 mais cette fois, cliquez sur REMPLACER.
  7. Reconstruisez votre projet et amusez-vous

Conclusion: un simple programme de recherche et de remplacement est tout ce dont vous avez besoin pour résoudre ce problème, et je recommande vivement Sublime Text 3 pour cela.


Il est également nécessaire de mettre à jour le chemin du fichier comme @diegoveloper l'a suggéré dans sa réponse. En recherchant, nous ne pouvons pas rechercher le chemin.
Rahmat Ali il y a
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.