web-dev-qa-db-ja.com

Playstoreは「機密のアクセス許可を宣言する」ように要求します

私たちのAndroid ManifestにはSMSに対する権限がありません。4リリースまではリリースしていましたが、Playstoreは次のように言って機密権限の宣言を記入するように求めています-

以前に宣言された権限(3つの権限)
Android.permission.RECEIVE_SMS
Android.permission.SEND_SMS
Android.permission.READ_SMS

私たちが使用しているライブラリがまだこれらの権限を必要としているため、これが発生する可能性はありますか?どうすればこれを回避できますか?

マニフェストには次の権限があります。

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission Android:name="Android.permission.READ_PHONE_STATE" />
<uses-permission Android:name="Android.permission.READ_CONTACTS" />
<uses-permission Android:name="Android.permission.CAMERA" />
<uses-permission Android:name="Android.permission.ACCESS_PHONE_SUB_INFO" />
<uses-permission Android:name="Android.permission.ACCESS_WIFI_STATE" />
<uses-permission Android:name="Android.permission.CHANGE_WIFI_STATE" />
<uses-permission Android:name="Android.permission.WAKE_LOCK" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission Android:name="com.Android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission Android:name="com.Android.launcher.permission.UNINSTALL_SHORTCUT" />
<uses-permission Android:name="Android.permission.GET_ACCOUNTS" />
8
Mallika Khullar

解決方法:

  1. マージされたマニフェストに、ポリシーに該当しない権限があるかどうかを確認しました。私たちは this の記事に従って、マージされたマニフェストファイルをここで確認しました:app/build/intermediates/manifests/full/debug/AndroidManifest.xml

  2. ログを調べて、どの依存関係が権限を追加したかを特定しました:app/build/outputs/logs/manifest-merger-debug-report.txt

  3. マニフェストファイルに次の3つの権限が存在することがわかりました:Android.permission.READ_SMSAndroid.permission.SEND_SMSAndroid.permission.RECEIVE_SMS

  4. それらを削除するには、AndroidManifest.xml、追加しました:

<uses-permission Android:name="Android.permission.READ_SMS" tools:node="remove" />
<uses-permission Android:name="Android.permission.SEND_SMS" tools:node="remove" />
<uses-permission Android:name="Android.permission.RECEIVE_SMS" tools:node="remove" />
  1. すべての依存バージョンを更新しました

  2. これらの削除された権限をすべて含むAPKを、Google Play Consoleで開いているすべてのトラック(内部テストトラック、アルファ、ベータ、プロダクション)にプッシュしました。

12時間以内に警告が削除されました。

10
Mallika Khullar