Изменение имени пакета обновленного приложения Android - PullRequest
9 голосов
/ 06 января 2011

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

Ответы [ 3 ]

12 голосов
/ 06 января 2011

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

10 голосов
/ 09 марта 2011

Android market касается только имени пакета в манифесте, а не фактического имени пакета в источнике.

Вы можете попытаться дать старое имя пакета в атрибуте manifest, затем для действий укажитеновое имя пакета вместо относительного (т./ бесплатно) таким образом и используя тот же проект и код.

0 голосов
/ 12 мая 2012

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

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

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

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

Здесь обычно хранятся данные приложения:

/data/data/pac.kage.name/

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

...