根据开发人员政策,建议不要使用与SMS和CALL_LOG相关的权限,除非该应用具有与之相关的核心功能。我以前使用READ_SMS权限来自动检测OTP,但后来从应用程序中将其删除并用SMS Retriever API替换了它。我于2019年1月3日在没有任何禁止播放商店的许可的情况下发布了该应用程序,在要求该应用程序在没有这些许可的情况下进行更新的截止日期为2019年1月9日之前。收到一个需要解决1个错误的应用发布错误。当我单击查看错误详细信息时,消息为“在创建声明敏感权限的新应用发布之前,您无法编辑此应用”。
当前,我的应用程序中使用的权限列表如下:-
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.RECORD_AUDIO" />
我没有使用任何SMS或CALL_LOG权限,但在发布新版本时仍然遇到错误。请查看链接以查看错误。
发布新版本时出现应用错误
答案 0 :(得分:8)
我检查了应用发布仪表板上“发布管理”下的“工件库”部分。
我仔细检查了每个“活动工件”,并发现了一个实时工件,该工件已在Open Track(Beta)上发布,但尚未投入生产。此活动工件很早以前是Beta版,已获得READ_SMS许可,该警告是造成警告的原因。
因此,为了解决这个问题,我在没有SMS或CALL_LOG许可的情况下推出了我的应用,以测试Beta版的曲目。
从Beta版开始,我将其发布到生产环境中,并且能够将我的应用发布到生产环境中。
答案 1 :(得分:2)
确保没有活动的APK具有跨曲目的敏感权限。以下是为防万一的步骤:
要发布新的兼容APK,请按照以下步骤操作:
转到您的Play控制台。
选择应用。
在左侧菜单上,选择发布管理>应用发布。 在不兼容的APK处于活动状态的发布轨道旁边,选择管理。
如果您的生产轨道具有不兼容的APK,则强烈建议您将其发布到生产轨道中。
建议的订单(如果曲目包含不兼容的APK):内部曲目>已关闭>打开>生产
要创建新版本,请选择创建版本(或编辑版本)。
上传新的兼容APK或“从库添加”
如果在发布应用程序时看到“权限声明表”,请根据以下说明完成该表:
选择一项核心功能(例如默认的短信处理程序)以发布具有兼容APK的版本。此版本可能会自动导致拒绝,但会停用轨道中不兼容的APK。
选择页面底部的“保存”>“查看”。
单击“开始”卷展栏。
请确保新版本发布了100%,并完全停用了不兼容的APK。
返回第1步,在轨道上发布另一个版本,其中不兼容的APK处于活动状态,直到没有活动的APK具有跨轨道的敏感权限。 如果您已使用跨曲目的兼容APK更新了您的应用,请检查是否还有剩余具有敏感权限的活动APK。这是在Play控制台中进行检查的方法。
转到发布管理>工件库
扩展活动APK和草稿APK
扩展每个APK的必需权限
答案 2 :(得分:1)
有2种想法,您需要确定是否已删除所有权限,而Google仍拒绝该应用。 1.检查您的合并清单,该清单可能具有某些库的权限。像这样删除它
<uses-permission
android:name="android.permission.READ_SMS"
tools:node="remove" />
2。从PlayStore控制台的alpha或beta版本更新测试版本。
答案 3 :(得分:1)
大约一天后,我总结出以下步骤来消除这个奇怪的错误。
首先,在确保已从清单文件中删除权限之后,还应该交叉验证某些库没有使用相同的权限,也要从库中删除权限,请将其添加到清单文件中。
<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.READ_CALL_LOG"
tools:node="remove"/>
<uses-permission
android:name="android.permission.WRITE_CALL_LOG"
tools:node="remove"/>
第二个最重要的点(真正的问题是我的情况),签入您没有的Play商店中的每个曲目(生产,Beta,Alpha,内部测试)以及使用了这些权限的旧版APK,在这种情况下,您需要在每个轨道中上传新的apk:生产轨道:生产,开放轨道:测试版,封闭轨道:Alpha,内部测试轨道:内部测试
Ph!
答案 4 :(得分:0)
@Rakhi
我建议您只阅读本文档。可能是您忘记了删除其他一些敏感权限。https://play.google.com/about/privacy-security-deception/permissions/
因此,只需检查此权限列表,然后在代码中查找是否发现不需要的内容即可。
答案 5 :(得分:0)
首先,您必须发布一个具有前一个APK所具有的敏感权限的APK。上载APK后,将弹出一个权限声明表格,您可以通过该表格选择应用程序是否兼容以使用敏感权限。您需要选中“否,此发行版不符合SMS和通话记录”,以便突出显示“推出发行版”按钮,然后单击它。在您的应用推出并审核后,您便可以能够在没有那些敏感权限的情况下发布新更新。
******但是,如果您的应用需要敏感权限,则必须选中“是,我的应用符合要求”,然后等待他们的批准。*****
这是我可以找到的解决方法,并且有效。开发人员支持无法提供有关此问题的有价值的信息。
答案 6 :(得分:0)
您可能必须停用发行版中捆绑的所有较旧的APK。
如果您要替换具有这些权限并具有较旧目标SDK版本的APK,则看起来Google Play会在新版本中默认将其激活,这将导致即使您的最新版本也需要敏感权限政策APK没有此权限。