Comment désinstaller une application système à l'aide de la commande de désinstallation adb (PAS supprimer via rm ou de toute autre manière)


12

Il faut le mentionner pour éviter toute confusion possible, cette question n'est pas en double. Cette question est spécifique à l' utilisation d'Adb pour désinstaller un package . Il existe plusieurs questions similaires, mais elles sont toutes différentes de celle-ci, car elles visent à supprimer une application par tous les moyens.

Veuillez ne pas fournir de réponses en utilisant la commande "rm" pour supprimer les fichiers du package. En outre, les réponses liées aux noms de packages malformés ou aux retours chariot finaux. Je pense qu'ils sont à peu près tous couverts dans toutes les autres questions.

J'avais des pm uninstallfonctionnalités mais après la mise à niveau de la ROM. Certaines choses ne désinstalleront plus. Par exemple, les deux applications système suivantes (que j'ai supprimées sous la ROM précédente, améliorant considérablement les performances globales):
/system/priv-app/SecurityCenter/SecurityCenter.apk=com.miui.securitycenter
/system/app/Updater/Updater.apk= com.android.updater

Maintenant, je reçois une erreur en essayant de les désinstaller pm: Échec [DELETE_FAILED_INTERNAL_ERROR]

Mais d'autres applications système (qui ne se désinstalleront pas via l'interface Android normale) se désinstallent via la pm uninstallcommande. Exemple:
/system/priv-app/Browser/Browser.apk=com.android.browser

Donc, les deux sont des applications système, quelle pourrait être la différence entre elles?

Pour référence, j'ai mis à niveau de MIUI 8.1.6.0 vers 8.5.3.0, et réinstallé TWRP et SuperSU. Cette question n'est pas spécifique à ma ROM, car je vois que d'autres personnes sont dans la même situation. Mais je semble avoir un avantage à pouvoir désinstaller certaines applications système. Et je suis prêt à contribuer, à trouver une solution pour tout le monde, à désinstaller n'importe quelle application.

J'ai essayé: mount -o rw, remount / system
mais cela ne l'a pas résolu.

Veuillez nous aider avec vos idées en cours de route. Merci!


Update 1 - Confirmation des étapes pour éviter les problèmes intermittents
* Effacement de toutes les partitions dans TWRP
* Dernière ROM installée (MIUI 8.5.3.0)
* Retour à TWRP, effacement uniquement / Données
* Restauré / Données de la version sauvegardée de la ROM fournie avec le périphérique (MIUI 8.1.6.0)
* Maintenant, après avoir démarré dans le système d'exploitation, la ROM s'affiche comme la plus récente (MIUI 8.5.3.0) dans les paramètres

Maintenant, je suis en mesure de désinstaller pm toutes les applications que j'ai essayées. Même les plus résistants: Google APP, Updater, Security.

Ce Frankenstein .. euh je veux dire que la ROM hybride fonctionne bien jusqu'à présent, et j'ai déjà supprimé de nombreux packages système, ce qui rend le téléphone (Redmi 3S +) visiblement plus rapide. Mais je voudrais quand même identifier ce qui a provoqué cela pour en faire une solution générique . Donc, si ce n'est pas cassé, je suis prêt à le casser, alors la prochaine fois qu'il cassera, nous saurons ce qui le cause et comment le réparer.

Update 2 -
* Effacé toutes les partitions et restauré toutes les partitions de la ROM d'origine.
* Restauré aux paramètres d'usine (en utilisant TWRP)
* et après le démarrage dans la ROM, est revenu à TWRP et a fait une autre sauvegarde
* En utilisant le même scénario que dans la mise à jour 1 ci-dessus, à la seule exception de l'utilisation / Data d'ici. la désinstallation de pm ne fonctionne pas .

Avez-vous des réflexions sur les différences entre les deux partitions / Data sur lesquelles je devrais me concentrer?


1
AFAIK pm uninstallne peut pas être utilisé avec des applications système. Comme il n'est pas clair si vous souhaitez vraiment désinstaller ou simplement masquer une application (vous l'avez mentionné pm disable), pourrait-il pm hideêtre ce que vous recherchez vraiment?
Izzy

@Izzy Oui, c'est possible. C'est ce que je dis ci-dessus, je viens de le modifier / le rendre un peu plus clair. Je veux désinstaller pm mais ce que je voulais dire était, avant la mise à niveau, je pouvais faire les deux, désinstaller et désactiver sur les applications système, même écrit de beaux scripts pour prendre soin de tout après la mise à niveau.
Emil

Je n'ai jamais réussi avec des pm uninstallapplications système. Mais j'ai une supposition: votre ROM précédente est-elle une construction "d'ingénierie"? Je suppose que cela fonctionne avec une build eng (aka dev build).
iBug

@iBug non, en fait, la ROM précédente était celle fournie avec ce téléphone. La nouvelle ROM est également une mise à niveau officielle du site du fabricant.
Emil

1
@Firelord Mon paramètre d'optimisation MIUI était déjà désactivé . device_owner.xml est absent. device_policies.xml a juste ces lignes: <? xml version = '1.0' encoding = 'utf-8' standalone = 'yes'?> <policies setup-complete = "true"> <active-password -stuff here- /> </policies>
Emil

Réponses:


18

J'ai réussi à ajouter les options -k et --user à la commande pm , par exemple:

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

La commande a été lancée en tant que root, pas besoin de remonter / system en rw. Android sur le téléphone est 6.0 et le package est une application système. Sans l'option supplémentaire, j'obtiens l'erreur:

Failure [DELETE_FAILED_INTERNAL_ERROR]

1
Je vous remercie. Pour tous ceux qui lisent, certains guides ont un seul tiret devant l'utilisateur, ce qui était à l'origine de l'erreur pour moi.
TrojanName

3

Fonctionne également sans l'option -k (conserver les paramètres utilisateur):

pm uninstall --user 0 com.android.service

et sans ouvrir le shell adb:

adb uninstall --user 0 com.android.service

mis à niveau de miui 10 à miui 11. mais pour quelques systèmes / applications privées, ces cammands échouent. par exemple pour com.miui.calculator
srv_sud
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.