web-dev-qa-db-fra.com

Liste des autorisations de Android via adb

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.

48
Juuso Ohtonen

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é):

  1. 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.

  2. (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
    
  3. 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
    
69
Denis Kniazhev
  1. 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
    ...

  2. Tirez l'apk sélectionné de l'appareil:
    adb pull /data/app/com.google.Android.youtube-1.apk

  3. Répertoriez les autorisations avec
    aapt 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
    ...

...

15
Juuso Ohtonen

La manière la plus rapide: adb Shell dumpsys package packagename | autorisation grep

11
jason