Список разрешений приложения Android через adb

используя adb, как я могу узнать, какие разрешения требуется приложение для Android?

потому что я хочу отображать разрешения нескольких приложений на разных устройствах, просматривая их в Google Play или Settings>Applications manager требует слишком много ручной работы.

3 ответов


Я просто хотел объединить ответы Джейсона и Juuso вместе и заметить, что прежние списки разрешений, которые были выдано, в то время как последний перечислены разрешения, которые были просила (включая те, что были предоставлены).

посмотреть только разрешения, которые были выданы (но опуская те, которые были запрошены, но не предоставлены) используйте

adb shell dumpsys package packagename

и grantedPermissions раздел в нижней части выход.

в список все разрешения (запрошено, но не предоставлено + запрошено и предоставлено):

  1. обратите внимание на APK пакета. Вы можете запустить ту же команду

    adb shell dumpsys package packagename
    

    и получить путь APK от codePath элемент своей продукции.

  2. (если нет aapt на вашем устройстве/эмуляторе) вам нужно будет вытащить apk из устройства / эмулятора, как указал Юусо Охтонен в своем ответе. Так выполнить что-то вроде этого с вашего рабочего стола:

    adb pull /data/app/com.your.package.apk
    
  3. Список всех разрешений пакета

    если отсутствует в устройстве / эмуляторе aapt можно найти build-tools/<version>/в вашем Android SDK.

    выполнить

    aapt d permissions /path/to/com.your.package.apk
    

  1. Список всех приложений вместе с их путями установки (используйте -3 флаг, если вас интересуют только сторонние приложения). В качестве примера, давайте попробуем узнать разрешения приложения YouTube.
    adb shell pm list packages -f

    выход:

    ...
    пакет: / данные / app / com.гуглить.андроид.на YouTube-1.apk=com.гуглить.андроид.Ютьюб
    ...

  2. вытащить выбранный apk из устройства:
    adb pull /data/app/com.google.android.youtube-1.apk

  3. список разрешений с
    aapt d permissions com.google.android.youtube-1.apk

выход:

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

...


быстрый способ: adb shell dumpsys package packagename / grep разрешение