Как удалить приложение Android из командной строки на устройстве
Я могу удалить приложение на устройстве с моего компьютера, используя adb uninstall <package_name>
,
но я бы хотел сделать то же самое с script на самом устройстве.
Я также попробовал запустить android.intent.action.DELETE
намерение с помощью am
, но он запрашивает подтверждение пользователя.
Учитывая, что устройство укоренилось, можно ли запустить команду на устройстве для удаления приложения, не требуя действий пользователя/подтверждения?
Ответы
Ответ 1
Попытка использования команды pm
:
pm uninstall <package_name>
или
pm uninstall -k <package_name>
Флаг -k
хранит каталоги данных и кешей после удаления пакета.
Я не тестировал это сам, но я не думаю, что это должно показывать предупреждение.
Ответ 2
adb shell pm uninstall *your.package.name*
Сделал трюк для меня.
Ответ 3
Чтобы принудительно удалить системные пользовательские приложения:
Использование:
adb shell pm uninstall --user 0 <package_name>
Ответ 4
Я не смог удалить некоторые системные пусковые установки (например, NovaLauncher)
В этом случае я рекомендую использовать "disable" вместо "uninstall":
pm disable <package_name>
В результате вы скрываете эту систему запуска (sys app) из списка пусковых установок, когда у вас есть несколько пусковых установок
Ответ 5
Некоторые приложения не могут быть удалены, поэтому приведенная ниже команда выдает ошибку:
adb shell pm uninstall package_name
Failure [DELETE_FAILED_INTERNAL_ERROR]
Попробуйте вместо этого запустить команду отключения,
adb shell pm disable package_name
Package package_name new state: disabled
Ответ 6
Простая команда для удаления любого приложения с устройства, попробуйте это:
pm uninstall --user 0
Эта команда принудительно удалит это приложение с устройства.
Ответ 7
И если вы хотите переустановить обратно удаленный пакет для пользователя (например, pm uninstall --user
), без рута:
pm install --user 0 $(pm dump <package name> | awk '/path/{ print $2 }')
Это позволит найти файл .apk
из неустановленного пакета: pm dump <package name>
и выполнить поиск строки, начинающейся с path:
чтобы получить путь к .apk
(обратите внимание, что pm path <package>
не будет работать для неустановленного приложения) и установить его с помощью pm install --user 0
(обратите внимание, что pm install
без --user
будет работать).
Это работает для любого системного приложения, это хорошая альтернатива pm disable-user <package>
который по-прежнему позволяет легко включить приложение обратно через Настройки.
Кроме того, вы можете удалить Play Store (pm uninstall --user 0 com.android.vending
) и не pm uninstall --user 0 com.android.vending
включить/установить любое приложение на pm uninstall --user 0 com.android.vending
устройство по умолчанию без доступа к adb
или pm
.
Ответ 8
Это сработало для меня
adb uninstall -K *package..name..here*