android/app/src/main/AndroidManifest.xml
に <uses-permission android:name="{パーミッション名}" tools:node="remove" />
を追加する事で、意図しない不要なパーミションを削除できる
背景
意図しない READ_PHONE_STATE が付与された APK(Android application PacKage) を Google Play Console にアップロードした際に「プライバシーポリシーの設定が必要となります」エラーが発生した
原因
- 利用してる React Native のライブラリ( react-native-device-info ) によってビルドした APK に
READ_PHONE_STATE
のパーミッションが付与されていた為react-native-device-info
の getPhoneNumber() がandroid.permission.READ_PHONE_STATE
を使用する- 今回のアプリでは
getPhoneNumber()
は未使用 (電話番号の取得は不要)
- 利用してる React Native のライブラリ( react-native-device-info ) によってビルドした APK に
解決方法
android/app/src/main/AndroidManifest.xml
に下記の設定を追加<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
作業メモ: before/after
Gradele でビルド ($ ./gradlew assembleRelease
)
before
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
を追加前android/app/build/intermediates/manifests/full/release/AndroidManifest.xml
に<uses-permission android:name="android.permission.READ_PHONE_STATE" />
が付与されていた
after
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
を追加後android/app/build/intermediates/manifests/full/release/AndroidManifest.xml
に<uses-permission android:name="android.permission.READ_PHONE_STATE" />
が付与されなくなった