J'ai remarqué que les applications (telles que Google Contacts Sync) qui ont été désactivées à l'aide du gestionnaire d'applications Android (KitKat) apparaissent toujours comme en cours d'exécution lors de l'utilisation des outils d'observation des processus. Cela est vrai même après le redémarrage de l'appareil.
Pourquoi les applications désactivées sont-elles toujours en cours d'exécution? Existe-t-il un moyen efficace (et sûr) de les désactiver?
Les solutions nécessitant des privilèges root sont acceptables.
(Notez que pour l'exemple spécifique ci-dessus, vous pouvez dire à Android de ne pas synchroniser vos contacts, mais il exécute toujours le processus de synchronisation des contacts Google. Mais ne nous attardons pas sur cet exemple ... c'est juste un exemple.)
la source
block/hide
), ce qui me fait me demander ce qui provoque le chargement de l'application maintenant. C'est une autre question que pendant qu'il était chargé dans la mémoire, vous pouvez observer son absence superficielle par manque de fond, de thèmes, de barre d'état et plus encore. Peut-être, une nouvelle question peut être forgée à partir de cela..apk
et les données derrière" - donc l'application est "complètement non enregistrée et invisible pour tout sauf le gestionnaire de fichiers", de sorte que d'autres applications ne sont plus en mesure d'appeler ses intentions comme elles le peuvent ne les trouve pas.Réponses:
Votre Android n'a pas besoin d'avoir un accès root pour vraiment désactiver une application, si vous avez la version 4.4.x ou supérieure. Tout ce dont tu as besoin c'estadbconfiguration sur PC et débogage USB activée sur un appareil non rooté, ou une application d'émulation de terminal pour un appareil rooté (vous pouvez également utiliser adb).
Si vous vérifiez l'utilisation de Package Manger (
pm
), vous verrezPour Lollipop, ce serait
Pour bloquer ou cacher un paquet (c'est sûr), faites simplement
Pour débloquer ou afficher le package, faites
PACKAGE
→ nom du package d'une application. Pour connaître le nom de package d'une application:Ajoutez
adb shell
avant toute commande de les exécuter à partir du PC.La fonction derrière hide a le commentaire suivant à l'intérieur du code source
Des commentaires similaires sont effectués pour bloquer ici .
Afin de vérifier la demande, vous pouvez utiliser certains services système tels que
meminfo
,procstats
et enactivity
utilisant l' dumpsys outil ou même la liste de tous les processus utilisantps
. Vous ne trouverez pas une présence active de l'application bloquée / masquée.Il en va de même pour de nombreuses applications système désactivées à l'aide de l'interface graphique ou
pm disable
pas pour toutes les applications,car même une application désactivée peut recevoir des émissions pour lesquelles elle est enregistrée, ce qui ne peut être fait que si elle est chargée dans la mémoire1 . Néanmoins, une application désactivée ne peut pas agir seule, ni être exécutée par une autre application.J'ai argumenté certaines des différences entre masquer / bloquer et désactiver sur ma question pm hide VS pm disable - la crise d'identité . Il ne fournit que des informations supplémentaires à cette réponse, vous pouvez donc les ignorer.
ÉDITER:
Il semble que la technique ne fonctionne pas pour toutes les applications sur Android KitKat. Dans ce cas, révoquez simplement l'autorisation de lecture de l'APK de l'application ou supprimez l'extension .APK du nom de fichier de l'application (ce dernier suggéré une fois par Jaskaranbir), suivi d'un redémarrage logiciel / complet. Cela revient à supprimer une application du système, à la seule différence que tous les fichiers resteront à leur place.
Les deux étapes peuvent être exécutées à l'aide de n'importe quelle application de gestion de fichiers racine. La manière en ligne de commande est:
1: Manque de preuves techniques pour étayer le fait
la source
pm block/hide
alors laissez-la intacte.adb shell su -c "chmod 111 /system/app/SystemUI.apk"
. 111 signifie définir uniquement les autorisations exécutables pour le propriétaire, le groupe et les autres. Redémarrez et l'application sera manquante sur le système. Vous pouvez également le définir000
.