Est-il possible de modifier le nom du package d'une application Android sur Google Play?

119

Je voudrais savoir s'il est techniquement possible, et non si c'est facile ou non, de changer le nom de package réel d'une application Android qui se trouve sur Google Play. Ce que j'entends par nom de package est le nom qui apparaîtra dans l'URL. S'il vous plaît, quelqu'un peut-il me dire pourquoi c'est / n'est pas possible? Merci!

user2426316
la source
le nom qui apparaîtra dans l'URL .. qu'est-ce que c'est ?? donner un exemple
stinepike

Réponses:

125

De Dianne Hackborn:

Des choses qui ne peuvent pas changer:

Le plus évident et le plus visible est le «nom du package manifeste», le nom unique que vous donnez à votre application dans son fichier AndroidManifest.xml. Le nom utilise une convention de dénomination de style Java, la propriété du domaine Internet permettant d'éviter les collisions de noms. Par exemple, étant donné que Google possède le domaine "google.com", les noms de package du manifeste de toutes nos applications doivent commencer par "com.google". Il est important que les développeurs suivent cette convention afin d'éviter les conflits avec d'autres développeurs.

Une fois que vous publiez votre application sous son nom de package manifeste, il s'agit de l'identité unique de l'application pour toujours. Le passage à un nom différent entraîne une application entièrement nouvelle, qui ne peut pas être installée en tant que mise à jour de l'application existante.

Plus d'informations sur les choses que vous ne pouvez pas changer ici

En ce qui concerne votre question sur l'URL de Google Play, le package défini ici est lié au package complet de l'application que vous avez dans votre fichier AndroidManifest.xml . Plus d'informations sur les formats de lien de Google Play ici .

Voicu
la source
7
il vaut la peine de le mentionner, puisque j'ai cherché ceci - vous pouvez changer le nom du paquetage réel en java , et fondamentalement partout ailleurs dans le manifeste. celui du manifeste est plus ou moins indépendant de celui partout ailleurs.
lahwran
3
@lahwran J'ai rencontré des problèmes avec la construction d'Android Studio correctement lorsqu'ils ne correspondaient pas - les problèmes ont disparu quand ils l'ont fait.
elBradford
Intéressant, je me demande si cela a changé. Je ne serais pas surpris si cela fonctionnait une fois pour les rendre différents, mais cela n'a jamais été pris en charge.
lahwran
1
@Voicu est-il possible de changer le nom du package si nous avons téléchargé la première version en mode bêta et que nous ne voulons pas changer de package en mode de sortie
Tejas Pandya
alors que se passe-t-il si j'ai une version payante avec une version gratuite avec le même nom de package? à la fois sur le Play Store en tant qu'applications différentes
Femn Dharamshi
71

Non, vous ne pouvez pas simplement le changer, vous devrez télécharger un nouveau package en tant que nouvelle application. Jetez un œil à l'application Google Talk, son nom a été changé en Hangouts, mais le nom du package l'est toujours com.google.android.talk. Parce que ce n'est pas faisable :) Bravo.

J'ai de la chance
la source
4
vous penseriez que Google aurait réalisé le problème eux-mêmes avec cela
kkarakk
Il est possible de changer une seule lettre de la majuscule à la petite casse dans le nom du package d'application andorid existe sur le Play Store?
Nilesh Panchal
23

Pour autant que je sache, ce que vous pourriez faire est de "retirer" votre ancienne application et de rediriger tous les utilisateurs vers votre nouvelle application. Cette procédure n'est pas prise en charge par Google (tsk ... tsk ...), mais elle pourrait être mise en œuvre en quatre étapes:

  1. Modifiez l'application actuelle pour afficher un message aux utilisateurs concernant la mise à niveau et redirigez-les vers la nouvelle liste d'applications. Un message en plein écran ferait probablement l'affaire avec un texte convivial. Ce message pourrait idéalement être déclenché à distance, mais une date limite peut également être utilisée. (Mais alors ce sera une date limite difficile pour vous, alors soyez prudent ...;))

  2. Libérez l'ancienne application modifiée en tant que mise à niveau, peut-être avec quelques mises à jour de fonctionnalités / corrections de bogues aussi, pour «adoucir l'affaire» pour les utilisateurs. Il n'y a toujours aucune garantie que tous les utilisateurs effectueront une mise à niveau, mais la majorité le fera probablement.

  3. Préparez votre nouvelle application avec le nom du package mis à jour et téléchargez-la dans la boutique, puis déclenchez le message dans l'ancienne application (ou attendez simplement qu'elle expire, si c'était votre choix).

  4. Annulez la publication de l'ancienne application dans le Play Store pour éviter toute nouvelle installation. La non-publication d'une application ne signifie pas que les utilisateurs qui l'ont déjà installée n'y auront plus accès, mais au moins les nouveaux utilisateurs potentiels ne la trouveront pas sur le marché.

Pas idéal et peut être ennuyeux pour les utilisateurs, parfois même impossible à mettre en œuvre en raison du statut / des possibilités de l'application. Mais comme Google ne nous a pas laissé le choix, c'est la seule façon de migrer les utilisateurs des anciennes applications vers une "nouvelle" (même si ce n'est pas vraiment nouveau). Sans oublier que si vous n'avez pas accès aux sources et aux détails de signature de code de l'ancienne application, tout ce que vous pouvez faire est d'espérer que les utilisateurs remarqueront la nouvelle application ...

Si quelqu'un a trouvé un meilleur moyen, merci de le dire.

racs
la source
5
Bien que ce soit le mieux que l'on puisse faire pour installer la nouvelle application, il faut se rappeler que l'ancienne application résidera toujours sur l'appareil - car il ne s'agit pas vraiment d'une mise à niveau, mais d'une nouvelle installation (à moins que l'utilisateur ne désinstalle manuellement la précédente). Ainsi, vous aurez une ancienne application ainsi qu'une nouvelle application sur l'appareil et probablement avec les mêmes icônes de lancement - déroutant l'utilisateur à propos de l'ancienne et de la nouvelle.
Jasper
1
Vous avez raison, il n'est malheureusement pas possible de supprimer l'ancienne application dans le cadre du processus d'installation de la nouvelle application. Cependant, il peut être possible de détecter la présence de l'ancienne application et d'avertir l'utilisateur de la supprimer. Cela peut être fait au démarrage de la nouvelle application ou dans le gestionnaire d'événements post-installation ( developer.android.com/reference/android/content/… ).
courses du
1
En outre, l'ancienne application pouvait détecter la présence de la nouvelle et simplement montrer un toast ou deux, puis démarrer la nouvelle et quitter.
Moritz Both
5

Non, vous ne pouvez pas modifier le nom du package à moins que vous ne souhaitiez le publier en tant que nouvelle application dans Play Store:

Une fois que vous publiez votre application sous son nom de package manifeste, il s'agit de l'identité unique de l'application pour toujours. Le passage à un nom différent entraîne une application entièrement nouvelle, qui ne peut pas être installée en tant que mise à jour de l'application existante. Le manuel Android le confirme également ici:

Attention: une fois que vous avez publié votre application, vous ne pouvez pas modifier le nom du package. Le nom du package définit l'identité de votre application.Par conséquent, si vous la modifiez, elle est considérée comme une application différente et les utilisateurs de la version précédente ne peuvent pas effectuer la mise à jour vers la nouvelle version. Si vous êtes d'accord pour publier une nouvelle version de votre application en tant qu'entité complètement nouvelle, vous pouvez le faire bien sûr - il vous suffit de supprimer l'ancienne application du Play Store (si vous le souhaitez) et d'en publier une nouvelle, avec un nom de package différent.

Rahul Sethi
la source
2

Si vous faites référence à com.example.app, non, je comprends que vous ne pouvez pas, cela serait considéré comme une nouvelle application

aehs29
la source
2

Jamais, vous ne pouvez pas le faire car le nom du package est l'identifiant de nom unique de votre application .....

Shubhamhackz
la source
1

Guide complet: https://developer.android.com/studio/build/application-id.html

Selon les blogs officiels Android: https://android-developers.googleblog.com/2011/06/things-that-cannot-change.html

On peut dire ça:

  • Si le nom du package du manifeste a changé, la nouvelle application sera installée avec l'ancienne application, de sorte qu'elles coexistent toutes les deux sur l'appareil de l'utilisateur en même temps.

  • Si le certificat de signature change, la tentative d'installation de la nouvelle application sur l'appareil échouera jusqu'à ce que l'ancienne version soit désinstallée.

Selon la liste de contrôle de la mise à jour de l'application Google: https://support.google.com/googleplay/android-developer/answer/113476?hl=en

Mettez à jour vos applications

Préparez votre APK

Lorsque vous êtes prêt à apporter des modifications à votre APK, assurez-vous de mettre également à jour le code de version de votre application afin que les utilisateurs existants reçoivent votre mise à jour.

Utilisez la liste de contrôle suivante pour vous assurer que votre nouveau fichier APK est prêt à mettre à jour vos utilisateurs existants:

  • Le nom du package de l'APK mis à jour doit être le même que la version actuelle.
  • Le code de version doit être supérieur à cette version actuelle. En savoir plus sur la gestion des versions de vos applications.
  • L'APK mis à jour doit être signé avec la même signature que la version actuelle.

Pour vérifier que votre APK utilise la même certification que la version précédente, vous pouvez exécuter la commande suivante sur les deux APK et comparer les résultats:

$ jarsigner -verify -verbose -certs my_application.apk

Si les résultats sont identiques, vous utilisez la même clé et êtes prêt à continuer. Si les résultats sont différents, vous devrez signer à nouveau l'APK avec la bonne clé.

En savoir plus sur la signature de vos applications

Téléchargez votre APK Une fois que votre APK est prêt, vous pouvez créer une nouvelle version.

Vinayak
la source