Adbを使用して、Androidアプリケーションに必要なアクセス許可を見つけるにはどうすればよいですか?
異なるデバイス上の複数のアプリケーションの権限を表示したいので、Google Play
またはSettings
> Applications manager
は手作業が多すぎます。
JasonとJuusoの答えを組み合わせて、前者はgrantedであった許可をリストし、後者はrequested(許可されたものを含む) 。
付与された権限のみ(ただし、リクエストされたが付与されていない権限は省略)を表示するには
adb Shell dumpsys package packagename
出力の下部にあるgrantedPermissions
セクションを確認します。
すべての許可(要求されたが付与されていない+要求および付与された)をリストするには:
パッケージのAPKに注目してください。同じコマンドを実行できます
adb Shell dumpsys package packagename
出力のcodePath
要素からAPKパスを取得します。
(デバイス/エミュレータにaapt
がない場合)Juuso Ohtonenが答えで指摘したように、デバイス/エミュレータからapkをプルする必要があります。そのため、デスクトップから次のようなものを実行します。
adb pull /data/app/com.your.package.apk
パッケージのすべての許可をリストする
デバイス/エミュレータにない場合、aapt
がAndroid SDK。)のbuild-tools/<version>/
にあります。
次に実行する
aapt d permissions /path/to/com.your.package.apk
すべてのアプリケーションとそのインストールパスをリストします(-3
サードパーティのアプリのみに関心がある場合はフラグを立ててください)。例として、YouTubeアプリの権限を調べてみましょう。adb Shell pm list packages -f
出力:
...
package:/data/app/com.google.Android.youtube-1.apk=com.google.Android.youtube
...
選択したapkをデバイスから引き出します: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の許可