前回は、パソコンからAndroidアプリに許可されている権限を調べる方法について記述しました。
adbコマンドでパソコンからAndroidアプリに許可されている権限を確認する方法
今回は、Androidアプリに権限を許可したり、許可しなくしたりする方法です。
スポンサーリンク
adbコマンドでパソコンからAndroidアプリに権限を設定する方法
権限を許可する場合のコマンド
adb shell pm grant [パッケージ名] [パーミッション名]
権限を禁止する場合のコマンド
adb shell pm revoke [パッケージ名] [パーミッション名]
前回同様、アマゾンのKindleアプリを例に試してみました。
パッケージ名は「com.amazon.kindle」です。
ストレージ権限を許可
ストレージ権限はREAD_EXTERNAL_STORAGEとWRITE_EXTERNAL_STORAGEの2つです。
adb shell pm grant com.amazon.kindle android.permission.READ_EXTERNAL_STORAGE
adb shell pm grant com.amazon.kindle android.permission.WRITE_EXTERNAL_STORAGE
ストレージ権限を禁止
adb shell pm revoke com.amazon.kindle android.permission.READ_EXTERNAL_STORAGE
adb shell pm revoke com.amazon.kindle android.permission.WRITE_EXTERNAL_STORAGE
連絡先権限を許可
adb shell pm grant com.amazon.kindle android.permission.READ_PHONE_STATE
連絡先権限を禁止
adb shell pm revoke com.amazon.kindle android.permission.READ_PHONE_STATE
アカウント権限を許可
adb shell pm grant com.amazon.kindle android.permission.GET_ACCOUNTS
アカウント権限を禁止
adb shell pm revoke com.amazon.kindle android.permission.GET_ACCOUNTS
アプリがリクエストしていない権限は設定することはできません。
試しに、READ_SMSのパーミッションをオンにしてみます。
adb shell pm grant com.amazon.kindle android.permission.READ_SMS
エラーがでました。
Operation not allowed: java.lang.SecurityException: Package com.amazon.kindle has not requested permission android.permission.READ_SMS