应用程序发布错误,即使在删除CALL_LOG和SMS权限后也是如此

问题描述 投票:6回答:7

根据开发人员政策,建议不要使用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权限,但在发布新版本时仍然遇到错误。请参阅链接以查看错误。

enter image description here

发布新版本时出现App错误

enter image description here

java android permissions sms release
7个回答
8
投票

我查看了“工件库”部分,该部分位于应用发布仪表板上的“发布管理”下。

我仔细检查了每一个'Active Artifact',发现了一个在Open Track(Beta)上发布的实时工件,这个工件没有投入生产。这个活跃的工件很久以前就是beta版本,它有READ_SMS权限,它负责警告。

因此,为了解决这个问题,我推出了我的应用程序,没有SMS或CALL_LOG权限来测试Beta上的跟踪。

从Beta我发布到生产,我能够将我的应用程序发布到生产。


3
投票

确保没有活动的APK具有跨轨道的敏感权限。以下是以下步骤:

要发布新的兼容APK,请按以下步骤操作:

转到您的Play控制台。

选择应用程序。

在左侧菜单中,选择版本管理>应用程序版本。在非合规APK处于活动状态的发布跟踪旁边,选择“管理”。

如果您的生产轨道具有不合规的APK,强烈建议您在生产轨道上制作上一个版本。

建议的顺序(如果曲目具有不合规的APK):内部曲目>已关闭>打开>生产

要创建新版本,请选择“创建版本”(或“编辑版本”)。

上传新的合规APK或“从库中添加”

如果您在发布应用程序时看到“权限声明表”,请按照以下说明填写表单:

选择一个核心功能(例如,默认SMS处理程序)以使用兼容的APK进行发布。此版本可能会自动导致拒绝,但这将停用轨道中不合规的APK。

选择页面底部的保存>查看。

单击“开始”卷展栏。

请确保新版本100%推出并完全停用不合规的APK。

返回步骤1,在不合规的APK处于活动状态的轨道中制作另一个版本,直到没有活动的APK具有跨轨道的敏感权限。如果您已使用符合条件的APK更新了应用,请检查是否存在任何具有敏感权限的有效APK。以下是如何在Play控制台中查看。

转到版本管理>工件库

展开有效的APK和草稿APK

展开每个APK的必需权限


1
投票

如果您已经删除了所有权限,并且Google仍在拒绝应用,那么您需要确保2件事。 1.检查您的合并清单,该清单可能已获得某些库的许可。像它一样删除它

<uses-permission
    android:name="android.permission.READ_SMS"
    tools:node="remove" />

2.在PlayStore控制台中更新alpha或beta版本的测试版本。


1
投票

大约一天后,我总结了以下步骤来摆脱这个奇怪的错误。

首先,在确保从Manifest文件中删除了权限之后,您还应该交叉验证某些库是否使用相同的权限,以便从库中删除权限,将其添加到Manifest文件中。

<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"/>

第二个最重要的一点(真正的问题在于我的情况),检查你没有的游戏商店的每个轨道(生产,Beta,Alpha,内部测试)和使用这些权限的旧apk,如果这是在这种情况下,您需要在每个轨道上传新的apk:制作曲目:制作,开放曲目:Beta,闭合曲目:Alpha,内部测试曲目:内部测试

唷!


0
投票

@主题

我建议你仔细阅读这份文件。可能是你忘了删除一些其他敏感权限.https://play.google.com/about/privacy-security-deception/permissions/

所以,只需检查此权限列表,如果发现不需要的内容,请在代码中查找。


0
投票

首先,您必须发布具有之前APK所具有的敏感权限的APK。上传APK时,会弹出一个权限声明表单,您可以选择是否符合您的应用程序以使用敏感权限。您需要选中“否,此版本不符合短信和通话记录”,以便突出显示“推出发布”按钮,点击它。一旦您的应用推出并进行审核,您将会能够在没有这些敏感权限的情况下发布新更新。

******但是,如果您的应用需要敏感权限,则必须检查“是,我的应用是否合规”并等待他们的批准。*****

这是我能找到的解决方法,并且有效。开发人员支持无法提供有关此问题的有价值信息。


0
投票

您可能必须取消激活该版本中捆绑的任何旧版APK。

如果您要更换具有这些权限并且具有较旧目标SDK版本的APK,那么看起来像google play会在新版本中默认激活它们,这将导致即使您的最新APK没有要求也需要敏感权限策略得到这个许可。

© www.soinside.com 2019 - 2024. All rights reserved.