Как удалить системное приложение с помощью команды adb uninstall (НЕ удалять через rm или любым другим способом)


12

Необходимо упомянуть об этом, чтобы избежать возможной путаницы, этот вопрос не является дубликатом. Этот вопрос относится к использованию adb для удаления пакета . Есть несколько похожих вопросов, но все они отличаются от этого, поскольку они направлены на удаление приложения любыми способами.

Пожалуйста, не предоставляйте ответы, используя команду "rm" для удаления файлов пакета. Кроме того, ответы, связанные с неверно сформированными именами посылок или завершающими возвратами каретки Я думаю, что они в значительной степени покрыты всеми остальными вопросами.

У меня была pm uninstallфункциональность, но после обновления ROM. Некоторые вещи больше не удаляются. Например, следующие два системных приложения (которые я удалил в предыдущем ПЗУ, значительно повысили общую производительность):
/system/priv-app/SecurityCenter/SecurityCenter.apk=com.miui.securitycenter
/system/app/Updater/Updater.apk= com.android.updater

Теперь я получаю сообщение об ошибке, пытаясь удалить их в личку : ошибка [DELETE_FAILED_INTERNAL_ERROR]

Но другие системные приложения (которые не удаляются через обычный интерфейс Android) удаляются через pm uninstallкоманду. Пример:
/system/priv-app/Browser/Browser.apk=com.android.browser

Итак, оба являются системными приложениями, в чем может быть разница между ними?

Для справки я обновил MIUI 8.1.6.0 до 8.5.3.0 и переустановил TWRP и SuperSU. Этот вопрос не относится к моему ПЗУ, так как я вижу, что другие люди находятся в такой же ситуации. Но у меня есть преимущество в том, что я могу удалить некоторые системные приложения. И готов внести свой вклад, найти решение для всех, удалить любое приложение.

Я попытался: mount -o rw, remount / system,
но это не решило проблему.

Пожалуйста, помогите с любыми идеями по пути. Благодарность!


Update 1 - Подтверждение шагов во избежание периодических проблем
* Вытер все разделы в TWRP
* Установлено последнее ПЗУ (MIUI 8.5.3.0)
* Вернулся в TWRP, только стерто / Данные
* Восстановлено / Данные из резервной копии ПЗУ, поставляемой с устройством (MIUI 8.1.6.0)
* Теперь, после загрузки ОС, в настройках ПЗУ отображается последняя версия (MIUI 8.5.3.0)

Теперь я могу удалить все приложения, которые я пробовал. Даже самые устойчивые: Google APP, Updater, Security.

Это Франкенштейн ... эээ, я имею в виду, что гибридное ПЗУ до сих пор работает нормально, и я уже удалил много системных пакетов, делая телефон (Redmi 3S +) заметно быстрее. Но я все еще хотел бы точно определить, из-за чего это превратилось в Generic Solution . Так что, если он не сломался, я готов сломать его, так что в следующий раз, когда он сломается, мы узнаем, что его вызывает и как это исправить.

Update 2 -
* Вытер все разделы и восстановил все разделы из оригинального ROM.
* Восстановлены заводские настройки (с использованием TWRP)
* и после загрузки в ПЗУ вернулись в TWRP и сделали еще одну резервную копию
* Используя тот же сценарий, что и в обновлении 1 выше, за исключением использования / Data здесь. вечера удаление не работает.

Любые мысли о различиях между двумя разделами данных, на которых я должен сосредоточиться?


1
AFAIK pm uninstallнельзя использовать с системными приложениями. Поскольку не ясно, действительно ли вы хотите удалить или просто скрыть приложение (вы упомянули pm disable), может pm hideбыть то, что вы действительно ищете?
Иззи

@ Иззи. Да, может. Это то, что я говорю выше, я только что отредактировал / сделал это немного яснее. Я хочу удалить, но я имел в виду, что перед обновлением я мог сделать и то, и другое, удалить и отключить в системных приложениях, даже написать хорошие сценарии, которые позаботятся обо всем после обновления.
Эмиль

Я никогда не преуспел pm uninstallв системных приложениях. Но у меня есть предположение: ваш предыдущий ROM - "инженерная" сборка? Я полагаю, что это работает с сборкой англ.
iBug

@ iBug нет, на самом деле предыдущий ROM был тем, с которым шел этот телефон. Новое ПЗУ также является официальным обновлением с сайта производителя.
Эмиль

1
@Firelord Моя настройка MIUI Optiomization уже отключена . device_owner.xml отсутствует. device_policies.xml содержит только следующие строки: <? xml version = '1.0' encoding = 'utf-8' standalone = 'yes'?> <policy setup-complete = "true"> <active-password -stuff here- /> </ policy>
Эмиль

Ответы:


18

Мне удалось добавить опции -k и --user в команду pm , например:

pm uninstall -k --user 0 com.android.service

Команда была выдана как root, нет необходимости перемонтировать / system как rw. Android на телефоне 6.0 и пакет является системным приложением. Без дополнительной опции я получаю ошибку:

Failure [DELETE_FAILED_INTERNAL_ERROR]

1
Спасибо. Для всех, кто читает, в некоторых руководствах перед пользователем стоит одна черточка, что вызвало у меня ошибку.
TrojanName

3

Также работает без опции -k (сохранить настройки пользователя):

pm uninstall --user 0 com.android.service

и без открытия оболочки adb:

adb uninstall --user 0 com.android.service

обновлен с miui 10 до miui 11. но для немногих system / priv-app эти команды не работают. например, для com.miui.calculator
srv_sud
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.