如何从我的 Android 应用程序中删除 QUERY_ALL_PACKAGES 权限?

Anu*_*nth 12 android android-manifest android-permissions

由于 Google 的反馈,我的 Google Play 更新版本已被拒绝 3 次。

\n

“应使用不太广泛的应用程序可见性方法\n我们无法批准您的应用程序\xe2\x80\x99s使用 QUERY_ALL_PACKAGES 权限,因为声明的任务可以使用不太广泛的应用程序可见性方法来完成。”

\n

我的应用程序不需要此权限,并且我尚未在清单文件中声明此权限。

\n

我已将以下查询元素添加到清单文件中以访问 WhatsApp、Gmail 包:

\n
    <queries>\n\n    <package android:name="com.whatsapp" />\n    <package android:name="com.google.android.gm" />\n    <intent>\n        <action android:name="android.intent.action.SEND" />\n        <data android:mimeType="text/plain" />\n    </intent>\n\n    <intent>\n        <action android:name="android.intent.action.SEND" />\n        <data android:mimeType="image/png" />\n    </intent>\n\n    <intent>\n        <action android:name="android.intent.action.VIEW" />\n        <category android:name="android.intent.category.BROWSABLE" />\n        <data android:scheme="https" />\n    </intent>\n\n</queries>\n
Run Code Online (Sandbox Code Playgroud)\n

以下是请求的权限列表:

\n
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />\n<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />\n<uses-permission android:name="android.permission.INTERNET" />\n<uses-permission android:name="android.permission.READ_CONTACTS" />\n<!-- Required only if your app targets Android 13. -->\n<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />\n<!-- Required to maintain app compatibility. -->\n<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"\n    android:maxSdkVersion="33" />\n<uses-permission android:name="android.permission.CAMERA" />\n<uses-permission\n    android:name="android.permission.WRITE_EXTERNAL_STORAGE"\n    android:maxSdkVersion="33" />\n<!-- Required only if your app targets Android 13. -->\n<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />\n
Run Code Online (Sandbox Code Playgroud)\n

那么如何去掉查询所有包的权限呢?我不需要它,我也没有要求它。

\n

Anu*_*nth 6

正如@CommonsWare 的评论中提到的,在项目创建时最初添加了一个宏基准库。该库正在请求“QUERY_ALL_PACKAGES”权限。我不知道“合并清单文件”的概念以及项目中使用的不同库如何在其清单文件中声明自己的权限。

删除了这个库,现在它已获得批准。


Mah*_*rus 5

查询所有包权限:应使用不太广泛的应用程序可见性

随着 Google 更新了我们大多数人在 Google Play 商店上发布 Android 应用程序时所获得的政策。

那些不知道QUERY_ALL_PACKAGES权限的人。请查看Google官方文档。

使用广泛的包(应用程序)可见性(QUERY_ALL_PACKAGES)权限

我们大多数人都尝试上传删除 QUERY_ALL_PACKAGES 权限的版本,但在这种情况下,它也会被拒绝。我们的情况也是如此。但要获得批准。我们联系了谷歌支持团队,然后我们按照他们的建议进行了必要的更改,并且构建获得了批准。

以下是 Google 支持团队的一些建议。

  • 前往 Play 管理中心。
  • 选择应用程序。
  • 转到应用程序包资源管理器。
  • 在右上角的下拉菜单中选择不合规的 APK/应用程序包的应用程序版本,并记下它们所在的版本。
  • 带着政策问题走上赛道。它将是以下 4 个页面之一:内部/封闭/开放测试或生产。
  • 在页面右上角附近,单击“创建新版本”。(您可能需要先单击“管理曲目”)
  • 如果包含违规 APK 的版本处于草稿状态,请丢弃该版本。
  • 添加符合策略的应用程序包或 APK 版本。请确保以下事项:
  • 不合规版本的应用程序包或 APK 位于此版本的“不包含”部分下。如需进一步指导,请参阅此 Play 管理中心帮助文章中的“不包含(应用程序包和 APK)”部分。
  • 新版本已 100% 推出,并完全停用不合规的 APK。
  • 要保存对版本所做的任何更改,请选择“保存”。准备好版本后,选择“审核版本”。
  • 如果不合规的 APK 发布到多个轨道,请在每个轨道中重复步骤 5-9。

如果您需要任何帮助。让我在评论部分留言。