J'ai deux projets Android dans Eclipse. J'ai copié l'un des projets de l'autre, puis j'ai changé le nom de l'application (dans strings.xml) et le nom du projet (dans Eclipse).
Mais maintenant, il y a un problème: lorsque je lance l’une des applications dans l’émulateur, l’autre est perdue (peut-être écrasée?) . Je suppose donc que je dois définir un autre paramètre afin qu'Android reconnaisse que les deux applications sont différentes?
Merci!
Nom du package (en Java).
Le nom de l'application figure également dans le manifeste, bien que je ne pense pas que cela doive être unique, mais il serait néanmoins bon de le changer pour plus de clarté.
En fait, vous devez changer le nom à plusieurs endroits:
Tout d'abord, comme vous l'avez dit, le nom de la chaîne, qui est le nom visible de l'application.
Deuxièmement, allez à activité-> src et cliquez avec le bouton droit de la souris sur le paquet (com.example.w Whatever) et effectuez refactor-> rename;
Ensuite, allez dans le fichier manifest.xml: et modifiez le champ dans:
<manifest package="com.example.whatever" >
Si vous utilisez du code natif, JNI, vous devrez également modifier les noms des fonctions c ++, ce qui est pénible:
Java_com_example_whatever_activity_function()
Pour ceux qui n'utilisent pas Android Studio et souhaitent le faire manuellement (par exemple, si vous utilisez React Native), je viens tout juste de traverser cette procédure et je devais la modifier dans les fichiers suivants:
index.Android.js
Android/settings.gradle
Android/app/build.gradle
Android/app/src/main/AndroidManifest.xml
Android/app/src/main/Java/com/<app id>/MainActivity.Java
Android/app/src/main/Java/com/<app id>/MainApplication.Java
Pour les utilisateurs d'Android Studio, vous devez modifier le nom de votre package dans AndroidManifest.xml ainsi que dans le fichier build.gradle -> defaultConfig -> applicationId.
Le moyen le plus simple que j'ai trouvé pour accomplir cette tâche consiste à utiliser Product Flavour.
productFlavors {
MainApp {
applicationId = "com.company.app"
}
NewAppFlavor {
applicationId = "com.company.newapp"
}
}
buildTypes {
debug {
buildConfigField "Java.util.Date", "buildTime", "new Java.util.Date(" + getDateAsMillis() + "L)"
applicationIdSuffix ".debug"
}
}
Vous spécifiez ensuite le nom du package dans AndroidManifest.xml en tant que
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.company"
Android:versionCode="1"
Android:versionName="0.1.1" >
Lors de la configuration de la version, Android Studio (1.5.1 au moment de l'écriture) demandera quelle version créer.
La configuration de débogage est un peu moins intuitive, vous devez placer le curseur sur l'angle inférieur gauche de l'écran, sélectionner "Variantes de construction", puis sélectionner le type de déploiement de votre configuration de débogage lorsque vous appuyez sur le bouton de lecture.
si vous utilisez Android studio alors
Votre identifiant de projet est dans votre fichier build.gradle
il suffit de changer le champ applicationId "com.example.whatEver"
J'espère que ça va marcher
J'ai constaté que mon changement de nom ne fonctionnait pas car je devais également modifier le nom du package dans google-services.json.
L'identifiant unique d'une application est le nom du package. Si vous modifiez le nom du package et réinstallez l'application à nouveau, vous obtiendrez deux copies sur votre téléphone.
Eclipse peut le changer automatiquement à tous les endroits de votre code.
Cliquez avec le bouton droit de la souris sur votre projet dans l'explorateur de packages (arborescence du projet) Et accédez à Outils Android-> Renommer le package
Voilà.
Sélectionnez Android en haut à gauche de la fenêtre de projet. Donc, faites un clic droit sur le nom de votre paquet sous le dossier Java et sélectionnez "Refactor" -> Renommer ... Cliquez sur le bouton Renommer le paquet. Tapez le nom du nouveau package que vous souhaitez, marquez toutes les options puis validez.
Quand il affiche les résultats, cliquez sur "Do Refactor".
Changez applicationId
au niveau de l’application.
Changez file_provider_authority dans strings.xml
Si vous utilisez firebase, ajoutez un nouveau projet sur firebase, téléchargez le nouveau fichier google-services.json et remplacez-le par l'ancien.
Changez éventuellement le nom de votre application.