1 votes

Comment obtenir la liste de tous les paquets d'applications avec leur étiquette d'activité à partir du shell adb ?

Parfois, j'ai du mal à faire correspondre le nom du paquet de l'application dans le fichier /data/data/ ou /data/app/*.apk avec l'étiquette d'activité conviviale que je vois dans l'interface graphique.

Comment lister les dossiers de candidature avec leurs activités ?

Je m'attendais à quelque chose comme ça :

$ adb shell list_apps
de.shandschuh.sparserss "Sparse rss"
org.vudroid "VuDroid"
jcpezzullo.statical "StatiCal"
tone.control "Tone Control"
...

0voto

Milner Points 533

Sur la base de ma réponse sur la question dont Andrew a donné le lien, c'est ce qui devrait être dans votre list_apps script :

for app in $(ls /data/app/*.apk); do
    appname=$(aapt d badging $app | grep 'application: label' | sed -n \"s/.*label\='\([^']*\)'.*/\1/p\")
    pkgname=$(basename $app)
    echo ${pkgname} "${appname}"
done

Exécutez ceci sur votre appareil Android.

  • Exigences : Soit une ROM basée sur CM avec Kitkat ou supérieure (qui semble être livrée avec la aapt ) - ou un appareil rooté sur lequel vous pouvez installer aapt sur vous-même ( trouvez-le ici ; testé avec Android 4.1).
  • Problèmes connus : le nom de l'application est probablement tronqué lorsqu'il contient un guillemet simple (cf. sed ). N'ayant pas installé un tel système ici, je n'ai pas pu le tester.
  • Ne répertorie que les applications des utilisateurs. Facile à corriger en répétant le blocage pour /system/app ;)

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