La désinstallation de l'application système a échoué à l'aide de la désinstallation du shell adb pm

20

J'ai tenté de forcer la désinstallation dans ADB, mais j'ai échoué:

$ 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

Qu'est-ce qui a mal tourné ici? Que puis-je faire?

J'ai utilisé le gestionnaire d'application interne et il n'y a pas d'option pour le supprimer.

Andrew T.
la source
1
Lors de la suppression manuelle d'une application de / system, n'oubliez pas de supprimer le dossier de données correspondant dans / data / data / «identifier». Il existe également une trace de la signature apk précédente dans /data/system/packages.xml qui peut empêcher la réinstallation d'une reconstruction package avec une clé différente.
anddam
Qu'entendiez-vous par ~ " application système "?
IgorGanapolsky

Réponses:

18

Eh bien, puisque le FileManager.apkpackage réside dans un /system/app/répertoire, c'est une application système. Donc, la façon générale de le supprimer est:

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
la source
1
Lorsque mount -o ro,remount /system
j'exécute
1
@IgorG. J'ai pu résoudre ce problème en répondant à une invite sur le périphérique réel.
Alex B
@AlexB En fait, aucune invite ne se produit. C'est un téléphone bootlegged personnalisé, je suppose.
IgorGanapolsky
10

Edit : quand j'ai vu le commentaire à CommonsWare répondre, je ne savais pas que c'était la même chose que le demandeur ... de toute façon, une petite explication peut être utile à quelqu'un.

Comme vous l'avez commenté, le moyen le plus simple de désinstaller une application système est clairement de supprimer le .apkfichier. Les commandes adb install/ adb uninstallsont utiles pour les applications normales, pas pour les applications système . Étant donné que cet apk est situé dans /system/app, adb uninstallne le supprimera pas.

Vous pouvez utiliser la commande suggérée ( rm /system/app/YourApp.apk), mais avant le /systemdossier doit avoir un accès en écriture. Vous devrez voir comment remount /systemdans votre appareil spécifique, essayez de rechercher " android remount +rw /system" et votre appareil).

Alternativement, vous pouvez utiliser n'importe quelle application capable à la fois de supprimer et de remonter et disposant d'un accès root, comme Root Explorer et Astro


la source
merci aleadam ... l'intrigue s'épaissit parce que le rm que j'ai fait a supprimé l'apk mais, peut-être, pas le cache .. Im incapable d'installer du marché .. qui échoue .. semble que je dois vider le cache dalvik ou simplement rétablir la ROM entière dans une image de sauvegarde ... installer sur la ligne cmd avec adb ==> [INSTALL_FAILED_UPDATE_INCOMPATIBLE] ... incapable d'utiliser le marché pour télécharger l'installation ... obtenir "erreur d'installation incompatible mise à jour" ... im sur une personnalisation rom et avoir une sauvegarde qui a 2 semaines et je peux juste y revenir.
lien ce que j'aurais dû faire est dans le 2ème post sur ce fil
1

Le Failureproblème ' ' a plus à voir avec le shell adb ajoutant une ligne DOS se terminant par ^ M (sur CentOS Linux de toute façon). Mettez la liste des applications à désinstaller dans un fichier et copiez directement sur l'appareil 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;
rjt
la source