通过adb列出Android应用程序的权限
使用adb,我如何找出Android应用程序需要哪些权限 因为我想在不同的设备上显示多个应用程序的权限,在通过adb列出Android应用程序的权限,android,permissions,adb,android-permissions,aapt,Android,Permissions,Adb,Android Permissions,Aapt,使用adb,我如何找出Android应用程序需要哪些权限 因为我想在不同的设备上显示多个应用程序的权限,在googleplay或Settingsapplications manager中查看它们需要太多的手动工作 列出所有应用程序及其安装路径(如果您只对第三方应用程序感兴趣,请使用-3标志)。举个例子,让我们试着找出YouTube应用程序的权限 adb壳牌项目管理列表包-f 输出: … 软件包:/data/app/com.google.android.youtube-1.apk=com.goog
googleplay
或Settings
applications manager
中查看它们需要太多的手动工作
-3
标志)。举个例子,让我们试着找出YouTube应用程序的权限adb壳牌项目管理列表包-f
输出: …
软件包:/data/app/com.google.android.youtube-1.apk=com.google.android.youtube
…
adb pull/data/app/com.google.android.youtube-1.apk
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 permission我只是想将Jason和Juuso的答案结合在一起,注意前者列出了授予的权限,而后者列出了请求的权限(包括授予的权限) 要仅查看已授予的权限(但忽略已请求但未授予的权限),请使用 并检查输出底部的
grantedpowpermissions
部分
要列出所有权限(已请求但未授予+已请求和已授予):
adb shell dumpsys package packagename
并从其输出的codePath
元素中获取APK路径aapt
),您需要从设备/仿真器中提取apk,正如Juuso Ohtonen在回答中指出的那样。因此,在桌面上执行如下操作:
adb pull /data/app/com.your.package.apk
aapt
中缺少,可以在Android SDK中的build tools/
下找到
然后执行
aapt d permissions /path/to/com.your.package.apk
回答很好,但为什么需要第二步?没有它,它可以正常工作。@DenisKniazhev
aapt
工具未在adb中提供shell@coco_你说得对,我一定是在使用预装了aapt
的仿真器。这将只列出已授予的权限,请参见下面的我的答案。它不只是包括带有“pemission”一词的权限吗在Windows机器上使用:adb shell“dumpsys-package-packagename | grep-permission”
例如,我注意到“adb-shell-dumpsys-package”命令显示了有关应用程序的多种信息。它还可以显示应用程序正式使用的所有文件夹,例如外部存储(在我的设备上的“/storage/emulated/0/Android/data/PACKAGE_NAME”)?Grep highlighting是你的朋友这里adb shell dumpsys PACKAGE com.example | Grep--color-E“grated=true |$”
aapt d permissions /path/to/com.your.package.apk