Mon keystore est corrompu, par conséquent, l'Android Market m'oblige à renommer l'application et à la soumettre à nouveau. Cependant, chaque fois que je vais modifier les noms des packages dans Manifest et dans tous les fichiers, cela me donne des tonnes d'erreurs.
Quelle est la bonne façon de changer le nom de l'application?
Réponses:
Si vous utilisez Eclipse, vous pouvez essayer ces instructions sur le site des développeurs d'Android. Ils sont spécifiquement pour l'exemple GestureBuilder mais devraient s'appliquer à n'importe quelle application pour autant que je sache:
Assurez-vous également de ne pas oublier de renommer le package lui-même avec les références à celui-ci dans les fichiers. Dans Eclipse, vous pouvez voir le nom du package dans la fenêtre / arborescence de l'explorateur de fichiers sur le côté gauche. D'après mon expérience, Eclipse peut parfois être un peu finnicky et peu fiable avec cela (laissant derrière lui des références errantes à l'ancien nom du package, par exemple).
la source
app_name
dans res-> values => strings.xmlIl existe un moyen de changer facilement le nom du package dans Eclipse. Faites un clic droit sur votre projet, faites défiler jusqu'à Outils Android, puis cliquez sur Renommer le package d'application.
la source
Voici comment vous pouvez faire cela dans Eclipse:
src/com.android.gesture.builder
).Refactor > Rename
et modifiez le nom, par exemple encom.android.gestureNEW.builder
.<manifest>
balise, remplacez le nom du package parcom.android.gestureNEW.builder
.Activity
fichiers et faites Ctrl+ Shift+ Opour ajouter les packages d'importation manquants, puis enregistrez chaque fichier.GestureBuilder
application sur l'émulateur.Lien vers l'article
Mettez à jour de manière super simple un clic droit sur votre projet ...
la source
Dans Android Studio , qui, très honnêtement, vous devriez utiliser, modifiez le nom
right-clicking
du package en utilisant le nom du package dans leproject structure -> Refactor -> Rename...
Il donne ensuite la possibilité de renommer le répertoire ou le package. Sélectionnez le package. Le répertoire devrait suivre. Saisissez votre nouveau nom de package et cliquez sur Refactoriser. Cela changera toutes les importations et supprimera les importations redondantes pour vous. Vous pouvez même le faire réparer pour vous dans les commentaires et les chaînes, etc.
Enfin , modifiez le nom du package en conséquence dans votre AndroidManifest.xml vers le haut. Sinon, vous obtiendrez des erreurs partout en vous plaignant de R. peu importe.
Une autre solution très utile
Créez d'abord un nouveau package avec le nom souhaité
by right clicking on the
dossier java -> nouveau -> package.`Ensuite, sélectionnez et faites glisser toutes vos classes vers le nouveau package. AndroidStudio re-factorisera le nom du package partout.
Après cela: dans
build.gradle
ajouter / modifier l'applicationId de votre application avec le nouveau. ie (com.a.bc
dans mon cas):Article original et plus de commentaires ici
la source
package
sous le dossierjava
Sans Eclipse:
Modifiez le nom du package et les noms d'activité dans AndroidManifext.xml et partout ailleurs dans les fichiers .xml (noms de vue personnalisés, etc.)
Mettre à jour la déclaration d'importation de package sur tous les fichiers source
Renommez tous les dossiers pour qu'ils correspondent au nom du package. Emplacements des dossiers:
a. bin / classes
b. gen
c. src
Mettez à jour le nom du projet dans build.xml (ou le nom de votre apk ne changera pas)
Supprimez tous les fichiers .class dans bin / classes / com / example / myapp / (si vous ignorez cette étape, les fichiers ne sont pas réécrits pendant la construction et dex donne un tas de problèmes lors du traitement des erreurs "nom de classe ne correspond pas au chemin"
Supprimez gen / com / example / myapp / BuildConfig.java (je ne sais pas pourquoi la suppression de BuildConfig.class à l'étape 3a n'a pas obligé dex à mettre à jour son chemin d'accès, mais jusqu'à ce que je supprime BuildConfig.java, il a continué à recréer gen / com / oldapp_example / oldapp et y mettre BuildConfig.class. Je ne sais pas pourquoi R.java du même emplacement n'a pas ce problème. Je soupçonne que BuildConfig.java est généré automatiquement en pré-compilation mais R.java n'est pas)
Les 6 étapes ci-dessus sont ce que j'ai fait pour changer le nom de mon package et obtenir une compilation réussie *. Il peut y avoir une meilleure façon de gérer les étapes 5 et 6 via les commandes dex pour mettre à jour les chemins, ou peut-être en éditant classes.dex.d dans le répertoire racine du projet. Je ne suis pas familier avec dex ou s'il est correct de supprimer / modifier classes.dex.d alors j'ai choisi la méthode de suppression des fichiers .class dont je sais qu'ils seront régénérés dans la construction. J'ai ensuite vérifié classes.dex.d pour voir ce qui devait encore être mis à jour.
* Aucune erreur ou avertissement laissé dans ma construction SAUF dex et apkbuilder indiquent tous les deux "Fichier cible supprimé trouvé" sans détails sur ce que ce fichier est. Je ne sais pas si cela apparaît dans chaque build, s'il était là avant que j'aie manipulé le nom de mon package, ou si c'est le résultat de mes suppressions et que je manque une étape.
la source
Suivez ces étapes:-
TERMINÉ
la source
Le moyen le plus rapide de le faire dans Android Studio 1.3 :
manifest
Module Settings[F4]-> Flavors
,Application Id
écrivez le même nom.[right-click-> new-> package]
[Right-click-> Refactor-> Move-> {Select package}-> Refactor]
PS Si vous ne suivez pas cet ordre, vous pouvez finir par changer tous les fichiers java un par un avec de nouvelles importations et un tas d'erreurs de compilation, donc l'ordre est très important.
la source
Changer le nom du paquet est une douleur dans le cul. Il semble que différentes méthodes fonctionnent pour différentes personnes. Ma solution est rapide et sans erreur. Il semble qu'aucun nettoyage ou réinitialisation de l'éclipse ne soit nécessaire.
la source
Bernstein a la méthode, utilisez l'outil Eclipse, "Rename Application Package", vous devrez peut-être faire un certain nettoyage même après coup. En outre, Eclipse perd parfois la trace des choses lorsque vous apportez des modifications à un projet. Vous devrez peut-être utiliser l'outil "Nettoyer le projet" (dans le menu "Projet".) Si cela ne fonctionne pas, vous devrez peut-être fermer et redémarrer Eclipse. Solutions Voo-doo, mais Eclipse peut en être ainsi.
la source
J'ai trouvé que la solution la plus simple était d'utiliser Regexxer pour remplacer "com.package.name" par "com.newpackage.name", puis renommer les répertoires correctement. Super facile, super rapide.
la source
src
dossier et cochezrename subpackages
la source
Il existe également une autre solution pour les utilisateurs sans Eclipse, il suffit de changer l'attribut package dans la balise <manifest> dans AndroidManifest.xml, en remplaçant l'ancien nom de package utilisé par un nouveau. Remarque: Vous devez également ajuster manuellement toutes les instructions d'importation associées et les dossiers associés dans votre projet.
la source
Alternative:
la source
Cliquez avec le bouton droit sur Projet> Outils Android> Renommer le package d'application
Allez dans src et faites un clic droit sur votre package principal> Refactor> Renommer
Accédez au fichier manifeste et modifiez le nom de votre package.
la source
J'ai juste perdu quelques heures à essayer toutes les solutions. J'étais sûr, le problème est dans mon code - apk démarrant mais quelques erreurs lorsque vous travaillez avec différentes classes et activités.
Seul moyen de travailler avec mon projet:
Pour moi, cela fonctionne, seule solution.
la source
Donc, utiliser IntelliJ avec le plugin Android (Studio) était: Je suis allé en
AndroidManifest.xml
haut et j'ai changé le nom du paquet en cliquant avec le bouton droit -> Refactor -> renommer. Le nom de notre package de l'époque comportait quatre partiesa.b.c.d
, la nouvelle uniquementa.b.c
. J'ai donc renommé les trois premiers. Ensuite, je suis allé dans le répertoire des sources générées (app\build\generated\source\r\development\debug\a\b\c\d
), cliquez avec le bouton droit sur laR
classe et Refactor-> Déplacer [d] vers un package supérieur. Idem avecBuildConfig
inapp\build\generated\source\buildConfig\development\debug\a\b\c\d
.En utilisant Refactor-> Move, IntelliJ met à jour toutes les références à
BuildConfig
etR
.Enfin, j'ai mis à jour tous les applicationsId [s] que j'ai trouvés dans gradle.build que j'ai trouvés. J'ai frappé Clean Project, Make and Rebuild Project. J'ai supprimé l'application de mon téléphone et appuyez sur "Play". Tout a fonctionné, donc la refactorisation était facile et assez rapide.
la source
Dans Android Studio 1.2.2 Dites si vous souhaitez passer
com.example.myapp
àorg.mydomain.mynewapp
Vous pouvez suivre les étapes dans chacun des répertoires comme indiqué dans la capture d'écran ci-dessous. Il vous donnera l'option de prévisualisation afin que vous puissiez prévisualiser avant d'apporter des modifications.Allez sur
Refactor -> Rename
et donnez votre nouveau nom. Vous devez le faire pour chacun des dossiers, par exemple pour com, exemple et myapp. Il mettra automatiquement à jour les importations afin que vous n'ayez pas à vous en soucier.Mettez également à jour le fichier
build.gradle
qui n'est pas mis à jour automatiquement.Après cela, il demandera de le
sync
faire. Alors tout ira bien. Je pourrai télécharger mon APK sur le Google Store après cela. Assurez-vous d'avoir signé votre application pour la télécharger dans la boutique.la source
la source