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

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

Solutions Collecting From Web of "Изменение имени пакета обновленного приложения для Android"

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

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

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

Как это:

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

Может работать ..

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

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

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

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

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

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

 /data/data/pac.kage.name/ 

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