web-dev-qa-db-fra.com

Comment changer le nom et l'ID d'une application existante sous Android?

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!

16
VKurt

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é.

8
Nanne

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()
12
Jav_Rock

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
9
Pedram

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. 

8
Akshayraj Kore

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.

4
Lytic

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

2
Sultan Ali

J'ai constaté que mon changement de nom ne fonctionnait pas car je devais également modifier le nom du package dans google-services.json.

1
Ross Harding

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à.

1
Josh

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".

1
Sergio Sena
  1. Changez applicationId au niveau de l’application.

  2. Changez file_provider_authority dans strings.xml

  3. 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.

0
Tahlil