J'avais l'habitude react-native init MyApp
d'initialiser une nouvelle application React Native. Cela a créé entre autres un projet Android avec le package com.myapp
.
Quelle est la meilleure façon de changer ce nom de package, par exemple en com.mycompany.myapp
:?
J'ai essayé de le changer AndroidManifest.xml
mais cela a créé d'autres erreurs, donc je suppose que ce n'est pas le cas.
Une idée?
Réponses:
J'ai renommé le projet » sous - dossier: " android / app / src / main / java / MA / APP / OLD_ID / " à: " android / app / src / main / java / MA / APP / new_id / "
Ensuite, permutez manuellement l'ancien et le nouveau identifiant de package:
Dans: android / app / src / main / java / MY / APP / NEW_ID / MainActivity.java :
Dans android / app / src / main / java / MY / APP / NEW_ID / MainApplication.java :
Dans android / app / src / main / AndroidManifest.xml :
Et dans android / app / build.gradle :
Dans android / app / BUCK :
Nettoyage Gradle 'à la fin (dans le dossier / android ):
la source
android/app/src/main/java/com/old_app_name/
en...com/new_app_name/
et cela semble fonctionner.J'utilise le package react -native-rename * npm. Installez-le via
Ensuite, à partir de la racine de votre projet React Native, exécutez ce qui suit:
la source
Pour changer le nom du package de
com.myapp
à:com.mycompany.myapp
(par exemple),android/app
dossier. Tu trouverasChangez le
com.myapp
pour celui dont vous avez besoin.J'espère que cela t'aides.
la source
./gradlew clean
et ensuite./gradlew app:assembleRelease
.applicationId
et lepackage
nom local sont indépendants l'un de l'autre", "applicationId
identifie de manière unique votre application sur l'appareil et dans Google Play Store" - developer.android.com/studio/build/application-idNo matching client found for package name 'xxxxx'
vous pouvez simplement utiliser le package npm react-native-rename.
Installer en utilisant
npm install react-native-rename -g
Ensuite, à partir de la racine de votre projet React Native, exécutez ce qui suit
react-native-rename "MyApp" -b com.mycompany.myapp
react-native-rename on npm
mais notez que, cette lib supprime votre
MainActivity.java
etMainApplication.java
. avant de changer le nom de votre package, effectuez une sauvegarde de ces deux fichiers et, après avoir changé le nom du package, remettez-le simplement à leur place. cette solution fonctionne pour moiplus d'informations: react-native-rename
la source
Accéder au studio Android
Faites un clic droit sur votre package (très probablement com) -> Refractor -> Renommer -> Entrez le nouveau nom du package dans la boîte de dialogue -> Do Refractor
Il renommera le nom de votre package partout.
la source
Le script init génère un identifiant unique pour Android basé sur le nom que vous lui avez donné (par exemple
com.acmeapp
pourAcmeApp
).Vous pouvez voir quel nom a été généré en recherchant la clé applicationId
android/app/build.gradle
.Si vous devez modifier cet identifiant unique, faites-le maintenant comme décrit ci-dessous:
Dans le
/android
dossier, remplacez toutes les occurrences decom.acmeapp
parcom.acme.app
Modifiez ensuite la structure du répertoire avec les commandes suivantes:
mkdir android/app/src/main/java/com/acme
mv android/app/src/main/java/com/acmeapp android/app/src/main/java/com/acme/app
Vous avez besoin d'un niveau de dossier pour chaque point de l'identifiant d'application.
Source: https://blog.elao.com/en/dev/from-react-native-init-to-app-stores-real-quick/
la source
Si vous utilisez Android Studio-
changer
com.myapp
encom.mycompany.myapp
créer une nouvelle hiérarchie de packages com.mycompany.myapp sous
android/app/src/main/java
Copiez toutes les classes de
com.myapp
à à l'com.mycompany.myapp
aide de l'interface graphique d'Android StudioLe studio Android se chargera de mettre un nom de package approprié pour toutes les classes copiées. Ceci est utile si vous avez des modules personnalisés et que vous ne souhaitez pas les remplacer manuellement dans tous les fichiers .java.
Mettre à jour
android/app/src/main/AndroidManifest.xml
etandroid/app/build.gradle
(remplacercom.myapp
parcom.mycompany.myapp
Synchroniser le projet (build gradle)
la source
J'ai une solution basée sur la réponse de @ Cherniv (fonctionne sur macOS pour moi). Deux différences: j'ai un Main2Activity.java dans le dossier java dans lequel je fais la même chose, et je ne prends pas la peine d'appeler ./gradlew clean car il semble que le packager react-native le fasse de toute façon automatiquement.
Quoi qu'il en soit, ma solution fait ce que fait Cherniv, sauf que j'ai créé un script shell bash car je construis plusieurs applications en utilisant un ensemble de code et que je veux pouvoir changer facilement le nom du package chaque fois que j'exécute mes scripts npm.
Voici le script bash que j'ai utilisé. Vous devrez modifier le packageName que vous souhaitez utiliser et ajouter tout ce que vous voulez ... mais voici les bases. Vous pouvez créer un fichier .sh, donner l'autorisation, puis l'exécuter à partir du même dossier à partir duquel vous exécutez react-native:
AVERTISSEMENT: Vous devrez d'abord modifier le commentaire de MainApplication.java vers le bas du fichier java. Il a le mot «package» dans le commentaire. En raison du fonctionnement du script, il prend toute ligne contenant le mot «package» et le remplace. Pour cette raison, ce script peut ne pas être à l'épreuve du temps car le même mot pourrait être utilisé ailleurs.
Deuxième avertissement: les 3 premières commandes sed éditent les fichiers java à partir d'un répertoire appelé javaFiles. J'ai créé ce répertoire moi-même car je veux avoir un ensemble de fichiers java qui sont copiés à partir de là (car je pourrais y ajouter de nouveaux packages à l'avenir). Vous voudrez probablement faire la même chose. Copiez donc tous les fichiers du dossier java (parcourez ses sous-dossiers pour trouver les fichiers java réels) et placez-les dans un nouveau dossier appelé javaFiles.
Troisième avertissement: vous devrez modifier la variable packageName pour qu'elle corresponde aux chemins en haut et en bas du script (com.MyWebsite.MyAppName vers com / MyWebsite / MyAppName)
la source
Dans VS Code, appuyez sur
Ctrl + Shift + F
et entrez votre ancien nom de package dans «Rechercher» et entrez votre nouveau package dans «Remplacer». Appuyez ensuite sur «Remplacer toutes les occurrences».Certainement pas la manière pragmatique. Mais ça a fait l'affaire pour moi.
la source
Utilisation
npx react-native-rename <newName>
Avec un identifiant de bundle personnalisé (Android uniquement. Pour iOS, veuillez utiliser Xcode)
Commencez par passer à une nouvelle branche (facultatif mais recommandé)
Ensuite, renommez votre application $ npx react-native-rename "Travel App"
Avec identifiant de bundle personnalisé
Après avoir changé le nom, assurez-vous d'aller dans le dossier Android et exécutez
gradlew clean
. puis revenez au projet principal et exécuteznpx react-native run-android
.De plus, si vous avez un fichier google-services.json dans votre projet précédent, modifiez-le en conséquence avec le nouveau ... alors vous êtes prêt à partir :)
En savoir plus ici https://github.com/junedomingo/react-native-rename#readme
la source
Suivez les étapes simples pour renommer votre
app name
etPackage name
au cas où vous n'auriez pas apporté de modifications personnalisées dans le dossier Android (par exemple, scénario où vous venez d'initialiser le projet)name
lepackage.json
fichier selon vos besoins et enregistrez-le.react-native upgrade
Remarque: comme ivoteje50 l'a mentionné dans le commentaire, ne supprimez pas le dossier Android si vous avez déjà suivi les instructions officielles pour générer un keystore, car cela supprimera le keystore et vous ne pourrez plus signer une nouvelle application.
la source
Accédez à Android Studio, ouvrez l'application, faites un clic droit sur java et choisissez Nouveau, puis Package.
Donnez le nom que vous voulez (par exemple com.something).
Déplacez les fichiers de l'autre package (que vous souhaitez renommer) vers le nouveau package. Supprimez l'ancien package.
Accédez à votre projet dans votre éditeur et utilisez le raccourci pour rechercher dans tous les fichiers (sur mac, c'est shift cmd F). Tapez le nom de votre ancien package. Modifiez toutes les références au nouveau nom de package.
Accédez à Android Studio, Build, Clean Project, Rebuild Project.
Terminé!
Bon codage :)
la source
J'ai utilisé le package react-native-rename .
Dans le terminal, exécutez la commande pour installer:
À la racine de votre projet React Native, exécutez la commande suivante:
la source
Vous pouvez utiliser le package react-native-rename qui prendra en charge toutes les modifications nécessaires du nom du package sous
app / mainapplication.java
AndroidManifest.xml
mais assurez-vous de changer manuellement le nom du package de tous les fichiers dans le dossier java / com. car lorsque j'ai créé une activité d'écran de démarrage, l'ancien nom du package n'est pas mis à jour.
https://www.npmjs.com/package/react-native-rename
la source
Le simple fait d'utiliser l'outil de recherche et de remplacement de mon IDE a fait l'affaire.
la source
Après avoir exécuté ceci:
Assurez-vous de vous rendre également
Build.gradle
sousandroid/app/...
et de renommer l'ID de l'application comme indiqué ci-dessous:la source
Accédez au fichier android / app / src / main / AndroidManifest.xml -
Mettre à jour :
attr android: étiquette de l' application Element comme:
et
attr android: étiquette de l' activité d' élément comme:
A travaillé pour moi, j'espère que cela aidera.
la source