adbを使用すると、Androidアプリケーションに必要なアクセス許可をどのように見つけることができますか?adb経由でAndroidアプリケーションのアクセス許可を表示
複数のアプリケーションの権限を異なるデバイスに表示したいので、Google Play
またはSettings
>Applications manager
で表示するには手作業が必要です。
adbを使用すると、Androidアプリケーションに必要なアクセス許可をどのように見つけることができますか?adb経由でAndroidアプリケーションのアクセス許可を表示
複数のアプリケーションの権限を異なるデバイスに表示したいので、Google Play
またはSettings
>Applications manager
で表示するには手作業が必要です。
私はちょうど一緒にジェイソンさんとJuusoの答えを組み合わせて、た後者リストの権限は(許可されたものを含む)を要求しながらは、を付与された元のリストの権限ことに気づくしたかったです。
は(要求されたが、許可されなかったが、省略するもの)を付与されたのみの権限を参照してください
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
出力:
...
パッケージ:
/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
...
...
ニースの答えを実行しますが、なぜあなたは、ステップ2が必要なのでしょうか?それはそれなしでうまく動作します。 –
@DenisKniazhev 'aapt'ツールはadbシェルで提供されていません –
@coco_そうです、' aapt'をプリインストールしたエミュレータを使用していたに違いありません。 –
高速な方法: adbのシェルdumpsysパッケージのパッケージ名を| grepの許可
これは、付与されたアクセス許可のみを一覧表示します。下の回答を参照してください。 –
"pemission"という単語が含まれているアクセス許可のみが含まれていませんか? –
言っておきますが、私は "adb shell dumpsys package"コマンドがアプリに関する多くの種類の情報を表示していることに気付きました。外部ストレージ(端末の「/ storage/emulated/0/Android/data/PACKAGE_NAME」など)など、アプリが正式に使用するすべてのフォルダも表示できますか? –