Невозможно заменить приложение: приложение автоматически переустанавливается при загрузке

У меня есть приложение, установленное на Android Things в Raspberry Pi. Я хочу заменить на более новую версию, но она перезаписывается предыдущей версией после перезагрузки. Это странно!

Вот что я пробовал: допустим, имя пакета установленного приложения — «com.myapp», я запустил «adb uninstall com.myapp» и получил «Успех». Если я снова запускаю команду удаления, я получаю сообщение «Ошибка [DELETE_FAILED_INTERNAL_ERROR]», поэтому приложение полностью удаляется. Затем я изменил имя пакета в build.gradle на «com.mynewapp», устанавливаю и запускаю его с помощью кнопки «Выполнить» в Android Studio. Теперь «com.mynewapp» появляется, когда я запускаю «пакеты списка pm оболочки adb». Теперь я перезапускаю Pi, используя «перезагрузку оболочки adb». И после перезагрузки старое приложение работает. Выполнение «пакетов списка pm оболочки adb» показывает мой старый пакет: «com.myapp», а «com.mynewapp» не отображается в списке.

Как я могу полностью удалить старое приложение и заменить его новым?


person Sergio Viudes    schedule 05.03.2018    source источник


Ответы (3)


Удалите приложение, используя:

adb uninstall <pkg name>
person Alexander Smityuk    schedule 05.03.2018
comment
Я уже удаляю его таким образом. Но он автоматически переустанавливается при каждой перезагрузке. - person Sergio Viudes; 05.03.2018

Я попытался удалить все содержимое SD и прошить последний образ Android Things, и понял, что SD-карта повреждена. Я заменил SD-карту, и она работает нормально.

person Sergio Viudes    schedule 05.03.2018

Вы не можете удалить приложение, которое вы запаковали в образ ОС и прошили на SD-карту с помощью adb (возвращает ошибку, с которой вы столкнулись Failure [DELETE_FAILED_INTERNAL_ERROR]). Только вы можете удалить приложение, которое вы установили с помощью adb или android studio. Вот почему в первый раз вы видите успех, то есть удаление перезаписанной версии, но в следующий раз, когда вы на самом деле пытаетесь удалить OEM-версию вашего приложения, поэтому вы видят эту ошибку.

Просто отформатируйте и перепрошейте SD-карту только с ОС Android (без вашего приложения), затем установите приложение с помощью adb/android studio, теперь у вас будет только неустановляемая копия вашего приложения на SD-карте. Таким образом, вы можете заменить это приложение или делать с ним все, что захотите, как обычное приложение, загруженное из игрового магазина.

person Koustuv Ganguly    schedule 11.05.2018
comment
Спасибо. Но я не упаковал приложение в ОС. Я установил его с помощью студии Android - person Sergio Viudes; 12.05.2018