adb обновить нерыночный apk?

Есть ли способ обновить (а не переустановить) APK-файл не из магазина на устройстве Android? Я смог найти только установку adb (ничего подобного обновления adb)


person lostInTransit    schedule 10.03.2010    source источник


Ответы (4)


adb install -r ближе всего к вам, это на самом деле обновление, поскольку оно сохраняет базу данных и сохраненные настройки. Если вы удалите/переустановите и базу данных приложения, и настройки, они будут удалены. Что именно вы пытаетесь обновить в приложении, в котором опция -r вам не помогает?

person Vidar Vestnes    schedule 10.03.2010
comment
В приложении я храню некоторые данные, которые я хотел бы сохранить при обновлениях/переустановках. Я полагаю, что если это ограничение, единственный способ сохранить его на SD-карте, но это снова риск, если пользователь удалит данные с карты? - person lostInTransit; 10.03.2010
comment
Данные, которые вы храните в приложении (в настройках контекста), останутся там при переустановке, то есть, если вы используете опцию adb -r.... Эти данные будут удалены только в том случае, если вы удалите их или удалите вручную с помощью кода. - person Vidar Vestnes; 10.03.2010
comment
Есть ли способ просмотреть трассировку стека при установке таким образом? - person Vincent; 08.06.2011
comment
Имейте в виду, что вам нужно будет использовать APK, подписанный тем же хранилищем ключей, которое подписало текущую установленную версию. - person theblang; 13.02.2014

adb install -r мне не помогло. Итак, я сделал небольшой обходной путь.

  1. Удалите приложение, но сохраните данные, используя adb uninstall -k com.packagename. Это удалит приложение, но сохранит данные. См. это.

  2. Установите приложение еще раз, используя adb install package.here.

Примечание. Для выполнения этих команд у вас должен быть root-доступ.

person Waleed Abdalmajeed    schedule 26.03.2018

Чтобы переустановить более раннюю версию приложения, используйте эту команду:

adb install -r -d package.apk
person Thierry    schedule 31.01.2020

Самый простой способ сделать это точно так же, как рыночный apk, — загрузить APK на свой телефон (т. е. загрузить с Google Диска или по электронной почте), а затем щелкнуть APK в библиотеке загрузок.

person elazarik    schedule 27.06.2017
comment
Хотя это может быть правильным ответом, лучше привести пример. прочитайте страницу Как ответить для получения дополнительной информации. - person ItamarG3; 27.06.2017
comment
Это решение не будет работать для киосков или устройств COSU или для любого устройства, которое не позволяет пользователю устанавливать приложения. - person Alex Meuer; 16.01.2018