Disinstallare l'app di sistema non riuscita utilizzando "disinstallazione di adb shell pm"


20

Ho tentato di forzare la disinstallazione in ADB, ma non sono riuscito:

$ 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

Cosa è andato storto qui? Cosa posso fare?

Ho usato il gestore applicazioni interno e non esiste un'opzione per eliminarlo.


1
Quando si elimina manualmente l'applicazione da / system, ricordarsi di eliminare la cartella dei dati corrispondente in / data / data / «identificatore» C'è anche una traccia della precedente firma apk in /data/system/packages.xml che può impedire la reinstallazione di una ricostruzione pacchetto con una chiave diversa.
anddam,

Cosa intendevi con ~ " app di sistema "?
IgorGanapolsky,

Risposte:


18

Bene, poiché il FileManager.apkpacchetto risiede in una /system/app/directory è un'app di sistema. Quindi il modo generale per rimuoverlo è:

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
Quando corro mount -o ro,remount /system, ricevo un errore: Dispositivo o risorsa occupata
IgorGanapolsky

1
@IgorG. Sono stato in grado di risolverlo rispondendo a una richiesta sul dispositivo reale.
Alex B,

@AlexB In realtà, non si verifica alcun prompt. Questo è un telefono bootlegger personalizzato, immagino.
IgorGanapolsky,

10

Modifica : quando ho visto il commento alla risposta di CommonsWare non mi sono reso conto che era lo stesso del richiedente ... comunque, una piccola spiegazione può essere utile per qualcuno.

Come hai commentato te stesso, il modo più semplice per disinstallare un'app di sistema è semplicemente eliminare il .apkfile. I comandi adb install/ adb uninstallsono utili per le app normali, non per le app di sistema . Poiché questo apk si trova in /system/app, adb uninstallnon lo rimuoverà.

È possibile utilizzare il comando suggerito ( rm /system/app/YourApp.apk), ma prima che la /systemcartella debba avere accesso in scrittura. Dovrai vedere come remount /systemnel tuo dispositivo specifico, provare a cercare " android remount +rw /system" e il tuo dispositivo).

In alternativa, è possibile utilizzare qualsiasi app in grado di eseguire sia l'eliminazione che la rimontaggio e che abbia accesso come root, come Root Explorer e Astro


grazie aleadam ... la trama si infittisce perché l'rm che ho rimosso l'apk ma, forse, non la cache .. non riesco a installarlo dal mercato .. questo non riesce .. sembra che devo svuotare la cache dalvik o semplicemente ripristina l'intera ROM in un'immagine di backup ... installa su linea cmd con adb ==> [INSTALL_FAILED_UPDATE_INCOMPATIBLE] ... impossibile utilizzare Market per scaricare l'installazione ... ottenere "aggiornamento incompatibile errore di installazione" ... im su un personalizzato rom e ho un backup vecchio di 2 settimane e potrei solo tornare a quello.

link che cosa avrei dovuto fare è nel secondo post su questa discussione

1

Il Failureproblema ' ' ha più a che fare con la shell adb che aggiunge una riga DOS che termina ^ M (comunque su CentOS Linux). Inserisci l'elenco delle applicazioni da disinstallare in un file e copia direttamente sul dispositivo 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;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.