Votre Android n'a pas besoin d'avoir un accès Root pour désactiver réellement une application, si vous avez la version 4.4.x ou supérieure. Tout ce dont vous avez besoin est adb dans le PC et Débogage USB activé sur un appareil non enraciné, ou une application émulateur de terminal pour un appareil enraciné (vous pouvez aussi utiliser adb).
Si vous vérifiez le système de gestion des paquets ( pm
), vous verrez
pm block \[--user USER\_ID\] PACKAGE\_OR\_COMPONENT")
pm unblock \[--user USER\_ID\] PACKAGE\_OR\_COMPONENT")
Pour Lollipop, ce serait
pm hide \[--user USER\_ID\] PACKAGE\_OR\_COMPONENT")
pm unhide \[--user USER\_ID\] PACKAGE\_OR\_COMPONENT")
Pour bloquer ou cacher un paquet (c'est sans danger), il suffit de faire
pm block PACKAGE # for KitKat
pm hide PACKAGE # for Lollipop
Pour débloquer ou dé-cacher le paquet, faites
pm unblock PACKAGE #for KitKat
pm unhide PACKAGE # for Lollipop
PACKAGE
→ nom du paquet d'une application. Pour connaître le nom du paquet d'une application :
Ajouter adb shell
avant toute commande pour les exécuter à partir du PC.
La fonction qui se cache derrière cacher a le commentaire suivant dans le code source
Met le paquet dans un état caché, qui est presque comme un état désinstallé, rendant le paquet indisponible, mais il ne supprime pas les données ou le fichier du paquet réel. L'application peut être dé-cachée soit en réinitialisant l'état caché, soit en l'installant.
Des commentaires similaires sont effectués pour bloc aquí .
Afin de vérifier la demande, vous pouvez utiliser certains services système tels que meminfo
, procstats
y activity
en utilisant le dumpsys ou même de lister tous les processus utilisant ps
. Vous ne trouverez pas de présence active de l'application bloquée/cachée.
Il en va de même pour un grand nombre d'applications système désactivées à l'aide d'une interface graphique ou d'un système de gestion de l'information. pm disable
mais pas pour toutes les applications puisque même une application désactivée peut recevoir diffuse pour lequel il s'est inscrit, ce qui ne peut se faire que s'il est chargé dans la mémoire 1 . Néanmoins, une application désactivée ne peut pas agir seule, ni être exécutée par une autre application.
J'ai discuté de certaines des différences entre cacher / bloc y désactiver sur ma question pm hide VS pm disable -- la crise d'identité . Il ne fournit que des informations complémentaires à cette réponse, vous pouvez donc le sauter.
EDIT :
Il semble que la technique ne fonctionne pas pour toutes les applications sous Android KitKat. Dans ce cas, il suffit de révoquer l'autorisation de lecture de l'APK de l'application ou de supprimer l'extension .APK du nom de fichier de l'application (cette dernière suggestion a été faite par Jaskaranbir une fois), puis de procéder à un redémarrage progressif ou complet. C'est la même chose que de supprimer une application du système, à la seule différence que tous les fichiers resteront à leur place.
Ces deux étapes peuvent être exécutées à l'aide de n'importe quelle application de gestion de fichiers racine. La méthode en ligne de commande est la suivante :
adb shell su -c 'chmod 000 /data/app/PACKAGE*' # 000 means no read-write-executable permission to user,group and others.
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE' # doing renaming by moving the file
adb reboot
1 : Manque de preuves techniques pour étayer le fait