Playstore 提示 'Declare sensitive permissions'

Playstore prompts to 'Declare sensitive permissions'

我们的 Android 清单没有任何短信权限。我们做了 4 次发布。但是 Playstore 仍然提示我们填写敏感权限的声明,说以下 -

Previously declared permissions (3 permissions)
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" />

我们是如何解决的:

  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_SMS,android.permission.SEND_SMS,android.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 控制台(内部测试轨道、Alpha、Beta 和生产)上打开的所有轨道中。

警告在 12 小时内被删除。