0 votes

Comment lister les applications suspendues ?

Vous pouvez "suspendre" les applications de l'utilisateur via cmd package suspend <packageName> (qui agit un peu comme pm disable ; les différences sont expliquées dans 本答 par @Firelord), et les débloquer ensuite en utilisant cmd package unsuspend <packageName> - qui fonctionne également pour les applications installées par l'utilisateur. Cependant : les paquets suspendus ne semblent plus être listés via cmd package list packages - même pas si -u (désinstallé) ou -d (désactivé) est spécifié ; pas même dumpsys package ne semble plus les connaître.

Existe-t-il donc un moyen d'obtenir la liste des paquets suspendus ? La sortie de la syntaxe ne le mentionne pas. Mais comme ces applications sont toujours affichées dans le lanceur (bien que "grisées"), il doit y avoir un moyen de les détecter.

1voto

Firelord Points 23064

Je ne suis pas particulièrement doué avec les scripts bash, donc je poste un peu d'un affreux one-liner qui imprime les paquets qui sont actuellement suspendus. Testé sur Android 11 et 12 (tous deux sous émulateur Android).

Fonctionne sans accès Root :

adb shell
pm list packages -a | sed -e 's/^package://'| while read package; do status="$(dumpsys package $package | grep -o "suspended=true")"; if \[\[ "$status" == "suspended=true" \]\] then echo "$package"; fi; done

En termes plus simples, nous obtenons les noms des paquets de toutes les applications installées, puis pour chaque paquet, nous vidons son contenu en utilisant dumpsys package et, dans chaque vidage, vérifiez la chaîne de caractères suivante et al mentionne cette sous-chaîne suspended=true . S'il est trouvé, nous imprimons le nom du paquet, sinon, nous passons au nom du paquet suivant et répétons le processus.

Si vous avez un accès Root (ne fonctionne pas sur Android 12) :

adb shell
su
grep 'suspended="true"' /data/system/users/0/package-restrictions.xml | cut -d '"' -f2

C'est très rapide par rapport à la solution non-Root. Imprime également les noms des paquets qui sont actuellement suspendus.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X