Deinstalacja aplikacji systemowej nie powiodła się przy użyciu „odinstalowania powłoki adb shell pm”

20

Próbowałem wymusić odinstalowanie w ADB, ale nie powiodło się:

$ 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

Co tu poszło nie tak? Co mogę zrobić?

Użyłem wewnętrznego menedżera aplikacji i nie ma możliwości jego usunięcia.

Andrew T.
źródło
1
Podczas ręcznego usuwania aplikacji z / systemu pamiętaj o usunięciu odpowiedniego folderu danych w / data / data / «identyfikator» Istnieje również ślad poprzedniego podpisu apk w /data/system/packages.xml, który może uniemożliwić ponowną instalację przebudowanej pakiet z innym kluczem.
i
Co miałeś na myśli przez ~ „ aplikację systemową ”?
IgorGanapolsky

Odpowiedzi:

18

Ponieważ FileManager.apkpakiet znajduje się w /system/app/katalogu, jest to aplikacja systemowa. Ogólny sposób na usunięcie to:

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
ezpresso
źródło
1
Po uruchomieniu mount -o ro,remount /system
pojawia
1
@IgorG. Udało mi się to rozwiązać, odpowiadając na monit na rzeczywistym urządzeniu.
Alex B
@AlexB W rzeczywistości nie pojawia się monit. To chyba niestandardowy telefon z bootlegami.
IgorGanapolsky
10

Edytuj : kiedy zobaczyłem komentarz do odpowiedzi CommonsWare, nie zdawałem sobie sprawy, że jest taki sam jak pytający ... tak czy inaczej, małe wyjaśnienie może być przydatne dla kogoś.

Jak sam skomentowałeś, najłatwiejszym sposobem na odinstalowanie aplikacji systemowej jest zwykłe usunięcie .apkpliku. W adb install/ adb uninstallpolecenia są użyteczne dla zwykłych aplikacji, a nie aplikacje systemowe . Ponieważ ten apk znajduje się w /system/app, adb uninstallnie usunie go.

Możesz użyć polecenia sugerowanego ( rm /system/app/YourApp.apk), ale zanim /systemfolder będzie musiał mieć dostęp do zapisu. Będziesz musiał zobaczyć, jak to zrobić remount /systemna swoim urządzeniu, spróbuj wyszukać „ android remount +rw /system” i swoje urządzenie).

Alternatywnie możesz użyć dowolnej aplikacji, która może zarówno usuwać, jak i ponownie montować i ma dostęp do konta root, takiej jak Root Explorer i Astro


źródło
dzięki aleadam ... fabuła gęstnieje, ponieważ rm, który zrobiłem, usunąłem apk, ale może nie pamięć podręczną .. Nie jestem w stanie zainstalować z rynku .. to się nie udaje .. wygląda na to, że albo muszę wyczyścić pamięć podręczną dalvik, albo po prostu przywróć całą pamięć ROM do obrazu kopii zapasowej ... zainstaluj na linii cmd za pomocą adb ==> [INSTALL_FAILED_UPDATE_INCOMPATIBLE] ... nie można użyć aplikacji Market do pobrania instalacji ... dostać "błąd instalacji niezgodna aktualizacja" ... jestem na niestandardowym ROM i mam kopię zapasową, która ma 2 tygodnie i mogę po prostu wrócić do tego.
link to, co powinienem był zrobić, znajduje się w drugim poście w tym wątku
1

Problem „ Failure” ma więcej wspólnego z powłoką adb dołączającą wiersz DOS kończący się ^ M (zresztą w CentOS Linux). Umieść listę aplikacji do odinstalowania w pliku i skopiuj bezpośrednio na urządzenie z Androidem.

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;
rjt
źródło