【问题标题】:How do I remove the QUERY_ALL_PACKAGES permission from my android app?如何从我的 android 应用程序中删除 QUERY_ALL_PACKAGES 权限?
【发布时间】:2022-08-16 11:12:52
【问题描述】:

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

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

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

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

    <queries>

    <package android:name=\"com.whatsapp\" />
    <package android:name=\"com.google.android.gm\" />
    <intent>
        <action android:name=\"android.intent.action.SEND\" />
        <data android:mimeType=\"text/plain\" />
    </intent>

    <intent>
        <action android:name=\"android.intent.action.SEND\" />
        <data android:mimeType=\"image/png\" />
    </intent>

    <intent>
        <action android:name=\"android.intent.action.VIEW\" />
        <category android:name=\"android.intent.category.BROWSABLE\" />
        <data android:scheme=\"https\" />
    </intent>

</queries>

这是询问的权限列表:

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

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

  • 检查您的合并清单(请参阅 Android Studio 清单编辑器中的子选项卡)并查看哪个库提供了此权限。
  • 谢谢,@CommonsWare 我确定了请求此权限的库并将其删除...

标签: android android-manifest android-permissions


【解决方案1】:

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

删除了这个库,现在它被批准了。

【讨论】:

    【解决方案2】:

    查询所有包权限:应用程序可见性应该不那么广泛 用过的

    由于 Google 更新了我们大多数人在 google play 商店上发布 android 应用程序时所获得的政策。

    不知情的人QUERY_ALL_PACKAGES允许。请查看 Google 的官方文档。

    Use of the broad package (App) visibility (QUERY_ALL_PACKAGES) permission

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-10
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 2015-07-18
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多