今回初めて遭遇しましたが、開発したAndroidアプリに入れた覚えのないパーミッションが追加されているときの対処法です。
なお、追加されていたパーミッションは、android.permission.READ_PHONE_STATE でした。
が、アプリ内ではこの権限は不要のため(そもそも追加した記憶もない)、こちらを削除します。
ですが、そもそも パーミッションを記述してあるはずの AndroidManifest.xml に、READ_PHONE_STATE が記述されていないんですよね…。
本当に、一体いつ追加されたのやら。
参考にさせていただいたサイトはこちら。
対処法: 不必要なPermissionが勝手に追加されてるとき|Android開発・エラー置き場
http://android.tecc0.com/?p=161
で、削除方法ですが、
- targetSdkVersion を更新
- LibraryのtargetSdkVersion を更新
- AndroidManifest.xmlで上書きして削除
上記の3つがあるようです。
私は一番手っ取り早そうな3をチョイスしました。
3.の対処法は、AndroidManifest.xml に下記を追加して、特定のパーミッションを無効にします。
// パーミッションを無効に <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
ポイントは最後の方に書かれている tools:node=”remove” です。
こちらを記述したら、あとは通常通り ビルド → 実行します。
スクショを撮り忘れましたが、設定 > アプリ からアプリの詳細を確認したところ、許可された権限の一覧から 不要な権限が削除されていました。
以上、アプリの不要なパーミッションを削除する方法でした。
ですが、何故このパーミッションが追加されたのか?という根本的な解決にはなっていないので、対処法 1か2で、解決策を探りたいと思います。