почему новая версия моего приложения для Android apk не будет установлена ​​поверх старой? - PullRequest
2 голосов
/ 16 декабря 2011

Я успешно создал небольшое частное приложение для Android (с помощью appcelerator, если это имеет значение) и установил его на свое устройство из подписанного файла apk.

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

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

Код и имя версии в оригинальном apk:

android: versionCode = "1" android: versionName = "1.0"

и во второй версии

android: versionCode = "2" android: versionName = "1.1"

Меня это бесит, чего мне не хватает?

Ответы [ 4 ]

6 голосов
/ 16 декабря 2011

Сначала попробуйте установить приложение с помощью adb:

adb install -r /path/to/your.apk

Если это не поможет, попробуйте:

adb shell pm uninstall -k com.your.package
adb install /path/to/your.apk

Это удаляет apk, сохраняя все его данные. И затем переустанавливает это еще раз. Если это также не поможет, adb по крайней мере даст вам код ошибки, с которым гораздо проще разобраться.

2 голосов
/ 16 декабря 2011

если подпись ключа отличается, то у вас может быть эта проблема

1 голос
/ 03 ноября 2015

Хотя ОП уже упоминал, что они установили android:versionCode выше, чем в предыдущей сборке, и поэтому этот ответ не решит их конкретную проблему, я обнаружил, что в моем случае ответ заключался в увеличении android:versionCode, чтобы быть вышечем установленная версия.Только понял это после нахождения этого вопроса /

0 голосов
/ 25 октября 2016

Предполагается, что вы проверите свою логику с той же подписью ключа с выпуском apk

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=your_package_name &hl=en"))); 

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

...