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

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

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

У меня была pm uninstallфункциональность, но после обновления ПЗУ. Некоторые вещи больше не удаляются. Например, следующие два системных приложения (которые я удалил в предыдущем ПЗУ, что значительно улучшило общую производительность):
/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
* Установили последнюю версию ROM (MIUI 8.5.3.0)
* Вернулись в TWRP, стерли только / Data
* Восстановили / Data из резервной копии версии ROM, которая поставлялась с устройством (MIUI 8.1.6.0)
* Теперь, когда я загружаюсь в ОС, ПЗУ отображается как последняя версия (MIUI 8.5.3.0) в настройках.

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

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

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

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

AFAIK pm uninstallнельзя использовать с системными приложениями. Поскольку неясно, действительно ли вы хотите удалить или просто скрыть приложение (вы упомянули pm disable), может pm hideбыть, это то, что вам действительно нужно?
@ Иззи Да, может. Это то, что я говорю выше, я просто отредактировал / сделал это немного яснее. Я хочу удалить pm , но я имел в виду, что перед обновлением я мог бы сделать и то, и другое, удалить и отключить системные приложения, даже написать хорошие сценарии, чтобы позаботиться обо всем после обновления.
Мне никогда не удавалось работать с pm uninstallсистемными приложениями. Но у меня есть предположение: ваша предыдущая прошивка была "инженерной" сборкой? Я предполагаю, что это работает с сборкой eng (также известной как сборка dev).
@iBug нет, на самом деле предыдущая прошивка была той, с которой поставлялся этот телефон. Новое ПЗУ также является официальным обновлением с сайта производителя.
Посмотрите, поможет ли это: stackoverflow.com/a/43673368/4720957 // И можете ли вы вставить содержимое этих двух файлов: /data/system/device_policies.xmlи /data/system/device_owner.xml?
@Firelord Моя настройка оптимизации MIUI уже отключена . device_owner.xml отсутствует. device_policies.xml содержит только следующие строки: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <policies setup-complete="true"> <active-password -stuff here- /> </политики>

Ответы (2)

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

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

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

Failure [DELETE_FAILED_INTERNAL_ERROR]
Спасибо. Для всех, кто читает, в некоторых руководствах перед пользователем стоит один тире, что вызывало у меня ошибку.
Примечание: -k не требуется. Гайды в инете вслепую делают копипаст. -k — сохранить данные приложения нетронутыми. 9/10, если вы удаляете раздувание, вам не нужно заботиться о сохранении данных своего приложения. Не нужен этот флаг.
для меня это сработало, используя: «adb shell cmd package uninstall -k --user 0 com.android.service»

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

pm uninstall --user 0 com.android.service

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

adb uninstall --user 0 com.android.service
обновлен с miui 10 до miui 11. но для нескольких системных/частных приложений эти команды не работают. например, для com.miui.calculator