Réponses:
Titanium Backup, etc. utilisez simplement la fonction intégrée Package Manager (pm)
pour geler une application. pm
a une fonctionnalité pour empêcher les applications de s'exécuter et d'apparaître dans le lanceur. Pour l'utiliser, Titanium Backup etc. exécutez la commande suivante:
pm désactiver {package_name}
Vous pouvez geler des applications par vous-même sans utiliser d'application de congélation dédiée. Utilisez simplement la commande ci-dessus dans Terminal Emulator ou ADB Shell
.
Par exemple, si vous souhaitez figer Stock Web Browser
, ouvrez Terminal Emulator
et basculez vers root en utilisant la su
commande. Ensuite, exécutez # pm disable com.android.browser
.
Ça va revenir #Package com.android.browser new state: disabled
. Terminé!
Redémarrez votre lanceur (certains appareils peuvent nécessiter un redémarrage) pour voir l'icône de l'application disparue.
Pour décongeler l'application, remplacez simplement disable
par enable
dans la commande.
pm disable
dit seulement "tué", puis le processus redémarre immédiatement. kill -STOP pid est meilleur. Vous pouvez voir ceux qui sont arrêtés, en ps
sortie.
J'ai trouvé comment ça pm disable
marche:
Si vous courez cat /system/bin/pm
, cela donne:
# Script to start "pm" on the device, which has a very rudimentary
# shell.
#
base=/system
export CLASSPATH=$base/framework/pm.jar
exec app_process $base/bin com.android.commands.pm.Pm "$@"
Donc apparemment, c'est la même chose que le PackageManager que nous utilisons depuis Java, il l'appelle - juste dans un contexte racine auquel aucune application utilisateur ne peut accéder directement.
Vous POUVEZ vérifier si quelque chose est gelé, en utilisant
getPackageManager().getApplicationEnabledSetting( the package name ) ==
getPackageManager().COMPONENT_ENABLED_STATE_DISABLED)
Dans les systèmes Unix, les fichiers ont 3 autorisations: lire, écrire et exécuter.
(Pour 3 catégories de personnes: le propriétaire du fichier [généralement son créateur], un groupe de personnes et tout le monde, mais il est hors sujet).
Si vous supprimez l'autorisation d'exécution du fichier, il ne pourra plus être lancé (exécuté).