Listing permissions of Android application via adb
I just wanted to combine Jason's and Juuso's answers together and notice that the former lists permissions that were granted, while the latter lists permissions that were requested (including ones that were granted).
To see only permissions that were granted (but omitting ones that were requested but not granted) use
adb shell dumpsys package packagename
and check grantedPermissions
section at the bottom of the output.
To list all permissions (requested but not granted + requested and granted):
Notice the APK of a package. You can run the same command
adb shell dumpsys package packagename
and get the APK path from
codePath
element of its output.(if there is no
aapt
on your device/emulator) You'll need to pull the apk from device/emulator as Juuso Ohtonen has pointed out in his answer. So execute something like this from your desktop:adb pull /data/app/com.your.package.apk
List all permissions of the package
If missing from device/emulator
aapt
can be found underbuild-tools/<version>/
in your Android SDK.Then execute
aapt d permissions /path/to/com.your.package.apk
List all applications along with their installation paths (use
-3
flag if you're only interested in 3rd party apps). As an example, let's try to find out YouTube app permissions.adb shell pm list packages -f
Output:...
package:/data/app/com.google.android.youtube-1.apk=com.google.android.youtube
...Pull the selected apk from the device:
adb pull /data/app/com.google.android.youtube-1.apk
List the permissions with
aapt d permissions com.google.android.youtube-1.apk
Output:
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 ...
...
The fast way:adb shell dumpsys package packagename | grep permission