Google play dit: “Vous devez utiliser un autre nom du package” - pourquoi?
J'ai déjà publié une application appelée com.mycompany.mygame sur google play.
J'ai alors décidé de publier une annonce gratuite version. Je n'ai pas changé le nom du package dans l'éclipse car j'ai remarqué que dans la fonction "exporter", vous avez la possibilité d'avoir le dernier apk définir comme tout ce que vous voulez. Alors je l'ai mis là comme com.mycompany.mygameaf - note plus "af" sur la fin. Mais ensuite, lorsque j'essaye de le télécharger sur le marché, google a déclaré:
Vous avez besoin d'utiliser un autre nom parce que "com.mycompany.mygame" est déjà utilisé par un de vos autres applications
Alors maintenant, je suis confus. La plainte est parce que je ne suis pas autorisé à avoir un apk qui est un nom qui est et l'extension d'une application précédente? Ou ne la finale apk en quelque sorte avoir connaissance de ce que le nom d'origine était?
Quelle est la façon la plus simple de résoudre ce problème?
- double possible de Dois-je changer le nom du paquet pour la version gratuite de l'application?
Vous devez vous connecter pour publier un commentaire.
Quel que soit le nom de l' .apk fichier, le nom du package de l'Application contenu à l'intérieur, il doit être unique.
Vous pouvez utiliser refactor-renommer pour changer cela, mais assurez-vous que le changement pénètre dans le fichier de manifeste, proguard de configuration, etc.
En dehors de la correction de nom de l'application dans le Manifeste j'ai aussi dû changer
applicationId
dans l'application de gradle.fichier build.Aussi, si vous êtes à l'aide de ProGuard, ne pas oublier de changer les règles de votre proguard-règles.pro
Le nom de l'APK n'a pas d'importance, c'est le nom du package dans le fichier AndroidManifest qui compte.
Il ne peut exister qu'une seule application sur le marché avec que nom du package ainsi, pour publier votre annonce version gratuite vous aurez à changer le nom du package dans le fichier de manifeste, par exemple, ajouter de l'af sur la fin du nom de package dans votre manifeste.
Comme mentionné dans d'autres réponses, vous êtes de développement serait plus simple si vous mettez tous le code partagé et des actifs d'une bibliothèque commune du projet qui est une dépendance de votre payant et gratuit versions.
Vous pouvez également jouer avec le nouveau système de build Gradle (dans Android Studio) qui permet de définir dynamiquement des choses comme le nom du paquet à l'exécution. Il vous permet également de basculer ressources pendant la construction, ce qui est extrêmement pratique; Vous pourriez avoir un boolean ressources qui indique si l'application actuelle est la version payante. Ceci vous permet d'activer/désactiver les fonctions de l'application basée sur une vérification de cette valeur.
Le nom de l'APK n'est pas pertinent, le nom du package de votre application est utilisé comme un identifiant unique, c'est dans l'élément racine dans la AndroidManifest.xml
Lorsque vous créez votre projet dans Eclipse, il crée une réelle structure de paquet qui correspond à ce nom de package pour vous de mettre vos fichiers source dans.
Vous pouvez réellement chnage votre nom de paquet par modifiying ce manifeste de la valeur et vous pouvez juste garder le dossier/paquet structure est - il n'a pas besoin de correspondre à votre demande un nom de package.
Sinon, cliquez-droit sur votre projet dans Eclipse, allez dans "Android Outils" puis sélectionnez "Renommer le Package de l'Application"
Après vous faites cela, vous devriez être en mesure de soumettre votre binaire
Le nom du package dans le manifeste est utilisé pour identifier l'application à l'intérieur d'Android et de Google Play. Si différentes applications ont besoin de différents noms.
La méthode la plus simple solution de contournement pourrait être de créer un nouveau package, sans le code, et de l'utiliser comme application nom du package dans le manifeste.
Ce que j'ai fait pour résoudre mes nombreuses-apps-de-un-codebase problème, c'est mettre toutes les apps code dans un projet de bibliothèque, et puis j'ai plusieurs app projets qui utilisent cette bibliothèque. L'application de projets contiennent pas de code, juste un manifeste et des ressources personnalisées.