En utilisant adb, comment savoir quelles autorisations une application Android Android nécessite?
Étant donné que je souhaite afficher les autorisations de plusieurs applications sur différents appareils, les afficher dans Google Play
ou Settings
> Applications manager
nécessite trop de travail manuel.
Je voulais juste combiner les réponses de Jason et de Juuso et remarquer que le premier répertorie les autorisations qui étaient accordées, tandis que le dernier répertorie les autorisations qui étaient demandées (y compris celles qui ont été accordées) .
Pour voir niquement les autorisations accordées (mais en omettant celles qui ont été demandées mais non accordées), utilisez
adb Shell dumpsys package packagename
et vérifiez la section grantedPermissions
au bas de la sortie.
Pour lister toutes les autorisations (demandé mais non accordé + demandé et accordé):
Remarquez l'APK d'un package. Vous pouvez exécuter la même commande
adb Shell dumpsys package packagename
et obtenir le chemin APK à partir de l'élément codePath
de sa sortie.
(s'il n'y a pas de aapt
sur votre appareil/émulateur) Vous devrez retirer l'apk de l'appareil/émulateur comme Juuso Ohtonen l'a souligné dans sa réponse. Exécutez donc quelque chose comme ça depuis votre bureau:
adb pull /data/app/com.your.package.apk
Liste toutes les autorisations du package
S'il manque dans l'appareil/l'émulateur, aapt
se trouve sous build-tools/<version>/
dans votre Android SDK.
Ensuite, exécutez
aapt d permissions /path/to/com.your.package.apk
Répertoriez toutes les applications ainsi que leurs chemins d'installation (utilisez -3
signaler si vous êtes uniquement intéressé par les applications tierces). Par exemple, essayons de découvrir les autorisations des applications YouTube.adb Shell pm list packages -f
Sortie:
...
package: /data/app/com.google.Android.youtube-1.apk=com.google.Android.youtube
...
Tirez l'apk sélectionné de l'appareil:adb pull /data/app/com.google.Android.youtube-1.apk
Répertoriez les autorisations avecaapt d permissions com.google.Android.youtube-1.apk
Sortie:
uses-permission: Android.permission.BROADCAST_STICKY
uses-permission: Android.permission.CALL_PHONE
uses-permission: Android.permission.CALL_PRIVILEGED
uses-permission: Android.permission.WRITE_SETTINGS
uses-permission: Android.permission.WRITE_SECURE_SETTINGS
uses-permission: Android.permission.READ_CONTACTS
uses-permission: Android.permission.READ_CALL_LOG
uses-permission: Android.permission.WRITE_CONTACTS
uses-permission: Android.permission.WRITE_CALL_LOG
uses-permission: Android.permission.SYSTEM_ALERT_WINDOW
uses-permission: Android.permission.INTERNAL_SYSTEM_WINDOW
uses-permission: Android.permission.ADD_SYSTEM_SERVICE
uses-permission: Android.permission.VIBRATE
uses-permission: Android.permission.BLUETOOTH
uses-permission: Android.permission.BLUETOOTH_ADMIN
uses-permission: Android.permission.REORDER_TASKS
uses-permission: Android.permission.CHANGE_CONFIGURATION
...
...
La manière la plus rapide: adb Shell dumpsys package packagename | autorisation grep