尽管删除了 SMS 或 CALL LOG 权限,应用程序更新在 Play 商店中被一遍又一遍地拒绝
Posted
技术标签:
【中文标题】尽管删除了 SMS 或 CALL LOG 权限,应用程序更新在 Play 商店中被一遍又一遍地拒绝【英文标题】:App update getting rejected over and over on Play Store, in spite of removing SMS or CALL LOG permission 【发布时间】:2019-12-10 21:47:16 【问题描述】:我在上传我的 apk 时遇到了问题。 Play 控制台不允许我上传 apk 并出现此错误“在创建声明敏感权限的新应用版本之前,您无法编辑此应用。”。 在将我的应用程序的最低 API 级别从 16 升级到 19 后,我遇到了这个问题。我这样做是为了支持我在上传之前集成的库,即 RazorPay。 所以,我重新检查了我的合并清单是否添加了任何不需要的权限,但没有。为了安全起见,我添加了删除合并清单权限的代码。还是不行。 我试图通过故意添加短信权限来触发申报表,并通过反短信钓鱼(随机)填写。
我能够推出我的应用程序,但从那时起,每当我尝试上传我的应用程序时,即使没有短信或通话记录许可,Google Play 也会不断拒绝该应用程序。如果没有选择权限,则无法重新提交申报表。
这是我的清单许可:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<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_WIFI_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<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" />
<uses-permission
android:name="android.permission.CALL_PHONE" tools:node="remove" />
【问题讨论】:
您必须从清单中完全删除 android:name="android.permission.RECEIVE_SMS" 所有与 SMS 和 CALL LOG 相关的权限或提交具有此权限的申报表。 @PranavDarji 它已被删除。我添加了这一行 android:name="android.permission.RECEIVE_SMS" tools:node="remove" ,以删除由库添加的权限。 你在使用构建变体吗? @SachinKasaraddi 是的 您是否通过从项目中完全删除<uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" />
和其他人来重试?不要使用tools:node="remove"
【参考方案1】:
在等待 Google Play 支持团队的回复后,他们终于给了我一个可行的解决方案。
这是来自 Google 的电子邮件,它解决了我的问题:
嗨,
感谢您联系 Google Play 开发者支持。
当相关团队对您的问题进行调查时,请按照后续步骤告知我们 关于结果。
-
转到 Play 管理中心 > 点击应用
在左侧菜单中,单击“发布管理”>“应用程序发布”>“生产”轨道旁边的“管理”。 > '创建版本'
在“Android App Bundles and APKs to add”旁边,点击“Add from library”> 选择任何具有敏感权限的旧 APK(即版本 10000)以查看声明表。
在声明表格的核心功能下,请选择其他功能(即“默认短信处理程序”)并取消选中“反短信网络钓鱼”。
填写所有其他要求>点击“保存”
返回页面顶部,在“要添加的 Android App Bundles and APKs”部分下,单击具有敏感权限的 APK 旁边的“删除”按钮(在第 3 步中添加)。
上传一个没有敏感权限的新APK(版本代码更高)。
---在第 7 步之后,应该没有显示申报表---
点击“保存”>“审核”>“开始推出”
如果有人能解决这个问题,这会有所帮助。
【讨论】:
【参考方案2】:首先,您需要检查是否已删除所有nasty
权限。您需要通过在终端/控制台中运行以下命令来检查您当前的权限:
aapt d permissions your.company.name.apk
在 Google Play 中查看Permissions。
然后,将它们标记为已删除。
最后,(这曾经发生在我身上),检查您在 Google Play 中的应用程序页面,并尝试查找您是否有应用程序的Alpha
或Beta
版本。通过发布 Alpha
或 Beta
来删除它们,而不添加 apk。然后保存并创建发布。这应该会使 Alpha
或 Beta
被生产版本覆盖。
【讨论】:
Alpha 和 Beta 已被覆盖。并请详细说明如何检查您在答案中提到的当前权限。 如果找不到aapt
二进制文件,请转到您的 Android SDK 文件夹并检查 build-tools
中的内容
你知道了。没有短信或通话记录权限。【参考方案3】:
由于您使用的是构建变体,因此请在您的最高优先级清单文件中定义它
库清单:最低优先级 主要清单:中优先级 构建 Vairant 清单:最高优先级【讨论】:
【参考方案4】:任何 android 库都需要有一个 AndroidManifest.xml。所以问题可能是您的图书馆正在使用任何违反 google 权限政策的权限。
See this Post
【讨论】:
以上是关于尽管删除了 SMS 或 CALL LOG 权限,应用程序更新在 Play 商店中被一遍又一遍地拒绝的主要内容,如果未能解决你的问题,请参考以下文章
READ_PHONE_STATE 权限是不是会受到 SMS 和 CALL_LOG 权限组的 Google Play 政策更改的影响?
当我的应用程序不使用这些权限时,仍然在 Google Play 控制台中收到那些 SMS 和 CALL LOG 警告?