MASTG-TECH-0126: 获取应用权限
Android 权限在 AndroidManifest.xml
文件中使用 <uses-permission>
标签声明。您可以使用多种工具来查看它们。
使用 AndroidManifest¶
提取 AndroidManifest.xml
,如 从 AndroidManifest 获取信息 中所述,并检索所有 <uses-permission>
元素。
使用 aapt2¶
aapt
可用于查看应用程序请求的权限。
$ aapt d permissions org.owasp.mastestapp.apk
package: org.owasp.mastestapp
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.CAMERA'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.READ_CONTACTS'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
uses-permission: name='org.owasp.mastestapp.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION'
使用 adb¶
adb
可用于查看应用程序请求的权限。它还显示运行时权限的状态(已授予或已拒绝)。
$ adb shell dumpsys package org.owasp.mastestapp | grep permission
declared permissions:
requested permissions:
android.permission.INTERNET
android.permission.CAMERA
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_CONTACTS
android.permission.READ_EXTERNAL_STORAGE
install permissions:
android.permission.INTERNET: granted=true
runtime permissions:
android.permission.READ_EXTERNAL_STORAGE: granted=false, flags=[ RESTRICTION_INSTALLER_EXEMPT]
android.permission.CAMERA: granted=false
android.permission.WRITE_EXTERNAL_STORAGE: granted=false, flags=[ RESTRICTION_INSTALLER_EXEMPT]
android.permission.READ_CONTACTS: granted=false