我们的Android Manifest没有任何SMS权限。我们做了直到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文章引导我们查看合并后的Manifest文件: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" />
5)我们更新了所有依赖版本
6)将具有所有这些删除权限的APK推送到我们的Google Play控制台上打开的所有曲目(内部测试曲目,Alpha,Beta和制作)。
在12小时内,警告被删除。