Изменение названия пакета обновленного приложения Android

StackOverflow https://stackoverflow.com/questions/4612211

Вопрос

Во время обновления моего приложения Android я изменил имя пакета. Но Android Market не позволяет загружать измененное приложение имя пакета в качестве обновления. Если я загружу приложение в качестве нового приложения, у пользователя будет два приложения на его устройстве? Как я могу убедиться, что пользователю не нужно загружать приложение снова с нуля, не возвращая изменения моего пакета?

Это было полезно?

Решение

Два пакета = два разных приложения на рынке. Как только вы загрузите одно приложение, его пакет должен быть таким же. Кроме того, ключ должен быть таким же.

Другие советы

Android Market касается только имени пакета в вашем манифесте, а не фактические пакеты имени в источнике.

Вы можете попытаться дать старое имя пакета в атрибуте Mainest, а затем для мероприятий дайте новое имя пакета вместо относительной (т. Е. Мэйнадевности)

Так:

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

Мог работать ..

Я планирую обслуживать две версии моего приложения (Pay / Free) таким образом и использовать тот же проект и код.

Если вы измените имя пакета, он рассматривается как отдельное приложение - не только на рынке, но APK в целом будет только «заменить» одинаковое имя пакета (и только в том случае, если они оба подписаны с одним и тем же ключом).

Хотя можно записать новый ключ, подписав промежуточный пакет с обоими ключами, в настоящее время нет простого способа фаза по имени пакета.

Лучшее, что можно сделать, это это:

  • Новая версия APK подписана с одним и тем же ключом, но имеет другое имя пакета.
  • При установке новый APK организует использовать shared_prefs со старым именем пакета.
  • Данные скопированы на новое имя пакета.
  • Новая версия запросы, что старая версия удалена, и пользователь видит диалог удаления.

Примечание. Данные приложения обычно хранятся здесь:

/data/data/pac.kage.name/

Я не пробовал это, поэтому я еще не могу дать больше деталей. Вы также можете быть заинтересованы в моем Запрос на бесшовную способ перехода на имя пакета.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top