为什么我收到警告 - 此应用不符合Google Play权限政策,即使我的最新版本不需要这些权限?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我收到警告 - 此应用不符合Google Play权限政策,即使我的最新版本不需要这些权限?相关的知识,希望对你有一定的参考价值。
它显示了这条消息
此应用不符合与使用SMS或CALL_LOG相关的Google Play权限政策。您必须在2019年3月9日之前解决此问题,否则您的应用将从Google Play中移除。注意:如果您最近进行了更改,则最多可能需要12小时才能更新此邮件。
我之前版本的应用程序拥有此权限,并在被拒绝时申请例外我在2周前更新了应用程序并删除了此权限。但现在我得到了这个消息。
我在上一个应用版本上也收到了这个警告。
说明:您收到此警告是因为您以某种方式直接或间接使用了一些不符合Google Play权限策略的权限。
间接意味着,您在项目中使用的任何第三方库可能已经在使用这些权限。当您构建项目时,它将所有Manifest文件合并到一个Merged Manifest文件中。这就是您收到此警告的原因,因为您的最终清单具有任何这些权限。
解决方案1:构建项目后,
- 打开项目的androidManifest文件。
- 打开底部的Merged Manifest选项卡。
- 搜索任何这些权限。 (示例 - READ_SMS)
- 如果你得到任何,现在是时候删除它们了。检查示例
示例:如果您在Merged Manifest文件中看到READ_SMS权限,那么现在打开项目的AndroidManifest文件并添加下面写的行以从项目中删除该权限 -
<uses-permission android:name="android.permission.READ_SMS" tools:node="remove" />
在AndroidManifest文件中添加上述权限行,就是这样。它将从Merged Manifest文件中删除Permission,您的问题将得到解决。
AndroidManifest文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.myapp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_SMS" tools:node="remove" />
<application
android:name=".MyApp"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning"
tools:replace="android:allowBackup">
<activity
android:name=".SplashActivity"
android:screenOrientation="portrait"
android:theme="@style/FullscreenTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
解决方案2:替换/删除使用这些权限的第三方库。
更新:
解决方案3:为安全起见,您可以在AndroidManifest文件中添加这些行。
<uses-permission
android:name="android.permission.RECEIVE_SMS"
tools:node="remove" />
<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.WRITE_SMS"
tools:node="remove" />
<uses-permission
android:name="android.permission.RECEIVE_WAP_PUSH"
tools:node="remove" />
<uses-permission
android:name="android.permission.RECEIVE_MMS"
tools:node="remove" />
<uses-permission
android:name="android.permission.READ_CALL_LOG"
tools:node="remove" />
<uses-permission
android:name="android.permission.WRITE_CALL_LOG"
tools:node="remove" />
<uses-permission
android:name="android.permission.PROCESS_OUTGOING_CALLS"
tools:node="remove" />
如果使用的话,这些行将根据Permission Policy删除所有受限制的许可。
希望它会有所帮助。
该政策适用于所有APK,甚至适用于您的Alpha或Beta曲目。您需要删除任何不符合的APK。如果您找不到删除方法,只需将其替换为符合规定的较新版本,或者创建一个没有APK的新版本,并将该版本发布到Alpha或Beta曲目。
编辑:有一个赏金要求可靠或官方来源的答案。我可能希望看到我的徽章显示我是Google Play的顶级回答者可能会让我略显可信。但这里有一些官方链接:
- Blog post explaining the new permissions requirements。
- Google Play policy center解释权限
- Google Play help center article解释SMS /呼叫日志权限的替代方案
- Google Play help center page on releasing your app
这些可能无法帮助原始提问者,但可能会帮助有不同问题的人通过谷歌搜索找到这个问题。
以上所有解决方案均无效。
最后我发现了Artifact Library中的旧版Active apk。它来自“内部测试轨道”。没有丢弃按钮。所以我不得不创建具有固定权限的新“内部测试轨道”apk和旧版本的上部版本。
后记“此应用不符合Google Play权限政策”错误消失。
您应该检查工件库中的草稿工件。
要解决此问题,您必须丢弃包含敏感权限的草稿工件,并创建没有这些权限的新版本。
以下是在Play控制台中查看的方法:
- 转到版本管理>工件库
- 展开有效的APK和草稿APK
- 展开每个APK的必需权限
您可能还想查看Permissions政策并查看Use of SMS or Call Log permission groups帮助文章,该文章描述了预期用途,例外,无效用途和替代实施选项以获得其他指导。
解决方案1:由于D_Alpha's answer在大多数情况下工作正常,只需更新以下权限:
<uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" />
<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.WRITE_SMS" tools:node="remove" />
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" tools:node="remove" />
<uses-permission android:name="android.permission.RECEIVE_MMS" tools:node="remove" />
<uses-permission android:name="android.permission.READ_CALL_LOG" tools:node="remove" />
<uses-permission android:name="android.permission.WRITE_CALL_LOG" tools:node="remove" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" tools:node="remove" />
解决方案2:
但在某些情况下:在使用所有解决方案之后,我们遇到了相同的错误,所以现在我们可以通过检查某些字段来成功进行审核。它就像魅力一样。我们不能说它完美的解决方案,但它的工作原理。
您可以在下面查看它是如何成功更新的。
以上是关于为什么我收到警告 - 此应用不符合Google Play权限政策,即使我的最新版本不需要这些权限?的主要内容,如果未能解决你的问题,请参考以下文章
尝试将 apk 上传到 google play 控制台时,我收到错误和警告消息
Unity aab 不符合 Google Play 64 位要求
为啥我在使用 Google Maps API 时没有收到“同源政策”警告?