Frage

Während der Aktualisierung meiner Android-Anwendung, änderte ich den Paketnamen. Aber Android-Markt ist nicht der geänderten Paketnamen Anwendung als Upgrade laden. Wenn ich die Anwendung als eine neue Anwendung laden, hat der Benutzer zwei Anwendungen auf sein / ihr Gerät? Wie kann ich sicherstellen, dass der Benutzer nicht die Anwendung erneut herunterladen muss von Grund auf, ohne dass die Änderung meines Paketnamen zurückkehrt?

War es hilfreich?

Lösung

zwei Paket = zwei unterschiedliche Anwendung im Marktplatz. Sobald Sie eine App laden, sollte sein Paket gleich sein. Auch sollte der Schlüssel gleich.

Andere Tipps

Android-Markt ist nur besorgt über die Paketnamen in Ihrem Manifest, nicht der eigentlichen Pakete Namen in der Quelle.

Sie könnten versuchen, die alten Paketnamen im Manifest Attribute zu geben, dann für Maßnahmen im Bereich der neuen Paketnamen anstelle von relativen geben (dh .MainActivity)

Wie folgt aus:

<manifest package="your.old.package" ...>
   ...
   <application android:name="your.new.package.MainActivity" ...>

Könnte arbeiten ..

Ich plane zwei Versionen meiner App dienen (gegen Entgelt / frei) auf diese Weise und mit demselben Projekt und Code.

Wenn Sie die Paketnamen ändern, wird es auch als separater App behandelt - nicht nur auf dem Markt, aber apk sind in der Regel nur ‚ersetzen‘ die gleichen Paketnamen (und nur dann, wenn sie beide unterzeichnete mit dem gleichen Schlüssel sind) .

Obwohl es möglich ist, auf einen neuen Schlüssel Phase über eine Zwischenpaket Unterzeichnung mit beiden Tasten , gibt es derzeit keine einfache Möglichkeit, zu Phase über die Paketnamen.

Das Beste, was getan werden kann, ist dies:

  • Neue apk-Version wird mit dem gleichen Schlüssel signiert, hat aber einen anderen Paketnamen.
  • Bei der Installation der neuen apk Ordnet die shared_prefs mit dem alten Paketnamen zu verwenden.
  • Die Daten in den neuen Paketnamen kopiert wird.
  • Die neue Version fordert, dass die alte Version entfernt wird, und der Benutzer sieht die Deinstallation Dialog.

Hinweis App-Daten in der Regel gehalten hier:

/data/data/pac.kage.name/

Ich habe nicht versucht, so dass ich nicht mehr noch Details geben kann. Sie können auch in meinem Antrag auf eine nahtlose Art und Weise interessiert sein, das Paket des Übergangs nennen .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top