Ist es möglich, den Paketnamen einer Android-App bei Google Play zu ändern?

118

Ich möchte wissen, ob es technisch möglich ist, ob es einfach ist oder nicht, den tatsächlichen Paketnamen einer Android-App zu ändern, die auf Google Play läuft. Was ich unter Paketname verstehe, ist der Name, der in der URL angezeigt wird. Kann mir bitte jemand sagen, warum dies nicht möglich ist / ist? Vielen Dank!

user2426316
quelle
der Name, der in der URL angezeigt wird .. was ist das? Geben Sie ein Beispiel
Stinepike

Antworten:

125

Von Dianne Hackborn:

Dinge, die sich nicht ändern können:

Das offensichtlichste und sichtbarste davon ist der "Manifest-Paketname", der eindeutige Name, den Sie Ihrer Anwendung in ihrer AndroidManifest.xml geben. Der Name verwendet eine Namenskonvention im Java-Sprachstil, wobei der Besitz einer Internetdomäne dazu beiträgt, Namenskollisionen zu vermeiden. Da Google beispielsweise die Domain "google.com" besitzt, sollten die Manifest-Paketnamen aller unserer Anwendungen mit "com.google" beginnen. Für Entwickler ist es wichtig, diese Konvention zu befolgen, um Konflikte mit anderen Entwicklern zu vermeiden.

Sobald Sie Ihre Anwendung unter ihrem Manifest-Paketnamen veröffentlichen, ist dies für immer die eindeutige Identität der Anwendung. Wenn Sie zu einem anderen Namen wechseln, wird eine völlig neue Anwendung erstellt, die nicht als Update für die vorhandene Anwendung installiert werden kann.

Mehr zu Dingen, die Sie hier nicht ändern können

In Bezug auf Ihre Frage zur URL von Google Play ist das dort definierte Paket mit dem vollständig qualifizierten Paket der App verknüpft, das Sie in Ihrer AndroidManifest.xml- Datei haben. Mehr zu den Linkformaten von Google Play hier .

Voicu
quelle
7
Erwähnenswert, da ich mich danach umgesehen habe - Sie können den Paketnamen des tatsächlichen Pakets in Java und im Grunde überall außer im Manifest ändern . der im Manifest ist mehr oder weniger unabhängig von dem überall sonst.
Lahwran
3
@lahwran Ich hatte Probleme mit der Erstellung von Android Studio, wenn sie nicht übereinstimmten - die Probleme verschwanden, als sie übereinstimmten.
ElBradford
Interessant, ich frage mich, ob sich das geändert hat. Es würde mich nicht wundern, wenn es einmal funktioniert hätte, um sie anders zu machen, aber nie unterstützt wurde.
Lahwran
1
@ Voicu ist es möglich, den Paketnamen zu ändern, wenn wir das erste Build im Beta-Modus hochgeladen haben und das Paket nicht im Release-Modus ändern möchten
Tejas Pandya
Was passiert also, wenn ich eine kostenpflichtige Version zusammen mit einer kostenlosen Version mit demselben Paketnamen habe? beide im Play Store als verschiedene Apps
Femn Dharamshi
70

Nein, Sie können es nicht einfach ändern, Sie müssten ein neues Paket als neue App hochladen. Schauen Sie sich die Google-App an Talk, deren Name in geändert Hangoutswurde, der Paketname jedoch weiterhin lautet com.google.android.talk. Weil es nicht machbar ist :) Prost.

Ich Glückspilz
quelle
4
Sie würden denken, Google hätte das Problem selbst damit erkannt
Karkark
Ist es möglich, einen einzelnen Buchstaben von Großbuchstaben in Kleinbuchstaben zu ändern, wenn der Name des andorid-App-Pakets im Play Store vorhanden ist?
Nilesh Panchal
23

Soweit ich das beurteilen kann, können Sie Ihre vorherige App "zurückziehen" und alle Benutzer auf Ihre neue App umleiten. Dieses Verfahren wird von Google nicht unterstützt (tsk ... tsk ...), kann jedoch in vier Schritten implementiert werden:

  1. Ändern Sie die aktuelle Anwendung, um den Benutzern eine Nachricht über das Upgrade anzuzeigen, und leiten Sie sie zur neuen App-Liste um. Wahrscheinlich würde eine Vollbildnachricht einen freundlichen Text vertragen. Diese Nachricht könnte idealerweise aus der Ferne ausgelöst werden, es kann jedoch auch ein Stichtag verwendet werden. (Aber dann wird das eine harte Frist für dich sein, also sei vorsichtig ...;))

  2. Geben Sie die modifizierte alte App als Upgrade frei, möglicherweise auch mit einigen Feature-Upgrades / Bugfixes, um den Benutzern den Deal zu versüßen. Es gibt noch keine Garantie dafür, dass alle Benutzer ein Upgrade durchführen, aber wahrscheinlich wird die Mehrheit dies tun.

  3. Bereiten Sie Ihre neue App mit dem aktualisierten Paketnamen vor, laden Sie sie in den Store hoch und lösen Sie dann die Nachricht in der alten App aus (oder warten Sie einfach, bis sie abläuft, falls Sie dies gewählt haben).

  4. Heben Sie die Veröffentlichung der alten App im Play Store auf, um Neuinstallationen zu vermeiden. Das Aufheben der Veröffentlichung einer App bedeutet nicht, dass die Benutzer, die sie bereits installiert haben, keinen Zugriff mehr darauf haben, aber zumindest die potenziellen neuen Benutzer werden sie nicht auf dem Markt finden.

Nicht ideal und kann für die Benutzer ärgerlich sein, manchmal aufgrund des Status / der Möglichkeiten der App sogar unmöglich zu implementieren. Da Google uns jedoch keine andere Wahl gelassen hat, ist dies die einzige Möglichkeit, die Benutzer der alten Apps auf eine "neue" zu migrieren (auch wenn diese nicht wirklich neu ist). Ganz zu schweigen davon, dass Sie nur hoffen können, dass die Benutzer die neue App bemerken, wenn Sie keinen Zugriff auf die Quellen und Codesignaturdetails für die alte App haben.

Wenn jemand auf jeden Fall einen besseren Weg gefunden hat: Bitte sagen Sie es.

Rennen
quelle
5
Dies ist zwar das Beste, was Sie tun können, um die neue App zu installieren, aber Sie müssen bedenken, dass sich die alte App weiterhin auf dem Gerät befindet - da es sich nicht wirklich um ein Upgrade handelt, sondern um eine Neuinstallation (es sei denn, der Benutzer deinstalliert die vorherige manuell). Sie haben also sowohl eine alte als auch eine neue App auf dem Gerät und wahrscheinlich dieselben Startsymbole, die den Benutzer verwirren - alte und neue.
Jasper
1
Sie haben Recht, leider ist es nicht möglich, die alte App im Rahmen des Installationsvorgangs der neuen App zu entfernen. Möglicherweise kann jedoch das Vorhandensein der alten App erkannt und der Benutzer gewarnt werden, diese zu entfernen. Dies kann entweder beim Start der neuen App oder im Event-Handler nach der Installation ( developer.android.com/reference/android/content/… ) erfolgen.
Rennen
1
Außerdem könnte die alte App das Vorhandensein der neuen App erkennen und einfach einen Toast oder so anzeigen, dann die neue starten und beenden.
Moritz Beide
4

Nein, Sie können den Paketnamen nur ändern, wenn Sie damit einverstanden sind, ihn als neue App im Play Store zu veröffentlichen:

Sobald Sie Ihre Anwendung unter ihrem Manifest-Paketnamen veröffentlichen, ist dies für immer die eindeutige Identität der Anwendung. Wenn Sie zu einem anderen Namen wechseln, wird eine völlig neue Anwendung erstellt, die nicht als Update für die vorhandene Anwendung installiert werden kann. Das Android-Handbuch bestätigt dies auch hier:

Achtung: Sobald Sie Ihre Anwendung veröffentlicht haben, können Sie den Paketnamen nicht mehr ändern. Der Paketname definiert die Identität Ihrer Anwendung. Wenn Sie ihn also ändern, handelt es sich um eine andere Anwendung, und Benutzer der vorherigen Version können nicht auf die neue Version aktualisieren. Wenn Sie mit der Veröffentlichung einer neuen Version Ihrer App als völlig neue Einheit einverstanden sind, können Sie dies natürlich tun. Entfernen Sie einfach die alte App aus dem Play Store (falls gewünscht) und veröffentlichen Sie eine neue mit einem anderen Paketnamen.

Rahul Sethi
quelle
2

Wenn Sie sich auf com.example.app beziehen, nein, ich verstehe, Sie können nicht, es würde als neue App betrachtet

aehs29
quelle
2

Niemals können Sie dies nicht tun, da der Paketname die eindeutige Namenskennung für Ihre App ist.

Shubhamhackz
quelle
1

Vollständige Anleitung: https://developer.android.com/studio/build/application-id.html

Laut offiziellen Android-Blogs: https://android-developers.googleblog.com/2011/06/things-that-cannot-change.html

Wir können das sagen:

  • Wenn sich der Name des Manifestpakets geändert hat, wird die neue Anwendung neben der alten Anwendung installiert, sodass beide gleichzeitig auf dem Gerät des Benutzers vorhanden sind.

  • Wenn sich das Signaturzertifikat ändert, schlägt der Versuch, die neue Anwendung auf dem Gerät zu installieren, fehl, bis die alte Version deinstalliert wird.

Gemäß der Checkliste für das Google App-Update: https://support.google.com/googleplay/android-developer/answer/113476?hl=de

Aktualisieren Sie Ihre Apps

Bereiten Sie Ihre APK vor

Wenn Sie bereit sind, Änderungen an Ihrem APK vorzunehmen, müssen Sie auch den Versionscode Ihrer App aktualisieren, damit vorhandene Benutzer Ihr Update erhalten.

Verwenden Sie die folgende Checkliste, um sicherzustellen, dass Ihre neue APK bereit ist, Ihre vorhandenen Benutzer zu aktualisieren:

  • Der Paketname der aktualisierten APK muss mit der aktuellen Version übereinstimmen.
  • Der Versionscode muss größer als die aktuelle Version sein. Erfahren Sie mehr über die Versionierung Ihrer Anwendungen.
  • Die aktualisierte APK muss mit derselben Signatur wie die aktuelle Version signiert werden.

Um zu überprüfen, ob Ihre APK dieselbe Zertifizierung wie die vorherige Version verwendet, können Sie den folgenden Befehl auf beiden APKs ausführen und die Ergebnisse vergleichen:

$ jarsigner -verify -verbose -certs my_application.apk

Wenn die Ergebnisse identisch sind, verwenden Sie denselben Schlüssel und können fortfahren. Wenn die Ergebnisse unterschiedlich sind, müssen Sie die APK mit dem richtigen Schlüssel neu signieren.

Weitere Informationen zum Signieren Ihrer Anwendungen

Laden Sie Ihre APK hoch Sobald Ihre APK fertig ist, können Sie eine neue Version erstellen.

Vinayak
quelle