Не вдалося видалити системний додаток із використанням "adb shell pm uninstall"


20

Я намагався видалити ADB, але не вдалося:

$ adb shell pm uninstall -k org.openintents.filemanager
$ adb shell pm list packages -f | grep -i manager
package:/system/app/FileManager.apk=org.openintents.filemanager

Що тут пішло не так? Що я можу зробити?

Я використовував внутрішній диспетчер додатків, і немає можливості його видалити.


1
Під час видалення програми вручну з / системи не забудьте видалити відповідну папку даних в / data / data / «identifier» У /data/system/packages.xml також є трек попереднього підпису apk, який може запобігти перевстановлення відновленої пакет з іншим ключем.
anddam

Що ви мали на увазі під « системним додатком »?
ІгорГанапольський

Відповіді:


18

Ну, оскільки FileManager.apkпакет знаходиться в /system/app/каталозі, це системний додаток. Тож загальним способом її видалення є:

adb shell
su
mount -o rw,remount /system
rm -rf /system/app/FileManager.apk
rm -rf /data/data/org.openintents.filemanager
mount -o ro,remount /system
exit
exit

1
Під час запуску mount -o ro,remount /systemя отримую помилку: Пристрій або ресурс зайнятий
ІгорГанапольський

1
@IgorG. Я зміг це вирішити, відповідаючи на запит на фактичному пристрої.
Алекс Б

@AlexB Насправді жодного запиту не відбувається. Це, напевно, звичайний телефон із завантаженням.
ІгорГанапольський

10

Редагувати : коли я побачив коментар до відповіді CommonsWare, я не зрозумів, що це такий же, як і запитувач ... все одно, невелике пояснення може бути корисним для когось.

Як ви самі прокоментували, найпростіший спосіб видалити системну програму - це просто видалити .apkфайл. Команди adb install/ adb uninstallкорисні для звичайних програм, а не для системних програм . Оскільки ця apk розміщена в /system/app, adb uninstallїї не буде видалено.

Можна використовувати команду, запропоновану ( rm /system/app/YourApp.apk), але перед /systemпапкою потрібно мати доступ для запису. Вам потрібно буде побачити, як це зробити remount /systemу вашому конкретному пристрої, спробувати пошуковий знак для " android remount +rw /system" та вашого пристрою).

Крім того, ви можете використовувати будь-яку програму, яка може виконувати як видалення, так і перепланування та має кореневий доступ, наприклад, Root Explorer і Astro


спасибі aleadam ... сюжет згущується, тому що rm, який я видалив apk, але, можливо, не кеш .. я не в змозі встановити з ринку .. що не вдається .. схоже, я або повинен очистити кеш dalvik або просто повернути весь ПЗУ до резервного зображення ... встановити в cmd-рядку з adb ==> [INSTALL_FAILED_UPDATE_INCOMPATIBLE] ... не в змозі використовувати ринок для завантаження встановлення ... отримати "помилку встановлення несумісне оновлення" ... ім на користувацький ром і є резервне копіювання, яке 2 тижні, і я можу просто повернутися до цього.

Посилання, що я повинен був зробити, - це у другому дописі на цій темі

1

Проблема " Failure" пов'язана з тим, що оболонка adb додає рядок DOS, що закінчується ^ M (у будь-якому випадку на CentOS Linux). Помістіть список програм для видалення у файл та скопіюйте безпосередньо на пристрої Android.

root@android:/root # dos2unix list-of-apps-to-uninstall.txt     
root@android:/root # for f in `cat list-of-apps-to-uninstall.txt` ; do echo $f; pm uninstall $f; done;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.