由于 REQUEST_INSTALL_PACKAGES 的投诉问题,我们的构建多次被 Google Play 商店拒绝。我们怎样才能克服这个问题?

问题描述 投票:0回答:3

Google Play 商店团队提到,他们发现 我们的应用程序不符合 REQUEST_INSTALL_PACKAGES 权限的使用方式。具体来说,权限的使用与应用程序的核心用途没有直接关系。

但是在我们的应用程序中没有任何地方,我们使用了 REQUEST_INSTALL_PACKAGES 权限,但仍然被拒绝多次。

我们在 Android 清单中添加了以下代码片段,以从我们的构建中删除 REQUEST_INSTALL_PACKAGES 并发送给 Play 商店审核。我们已经在构建权限中进行了验证,但找不到 REQUEST_INSTALL_PACKAGES,但仍然被 Play 商店拒绝。

如果有人遇到此问题,请告知我们,以及我们如何纠正此错误并使我们的构建获得 Play 商店团队的批准。

installation request package
3个回答
0
投票

就我而言,这与 Flutter 中的 open_file 有关。此软件包在清单中使用 REQUEST_INSTALL_PACKAGES 权限。

我使用(open_file_safe)修复:https://pub.dev/packages/open_file_safe

或者您也可以使用 open_filex:https://pub.dev/packages/open_filex

两个包与 open_file 相同,但不支持 .apk 文件类型。因此,不需要 android.permission.REQUEST_INSTALL_PACKAGES 权限。

如果您没有使用 open_file 插件,请检查 build/app/intermediates/merged_manifest/ 中的合并清单中是否声明了权限 REQUEST_INSTALL_PACKAGES 如果正在使用,则删除该权限,或者删除该插件并找到任何其他替代方法那个插件。

注意:如果您在本机 Android 项目中遇到此问题,您可能会使用包管理器查询所有包,但自 Android 8.0 起不再允许这样做。要解决此问题,请在 android studio 中打开应用程序的 android 项目,然后检查 AndroidManifest.xml 的合并清单部分,看看是否发现您的应用程序正在使用该权限(如果正在使用该权限,请删除该权限。

如果您仍然无法找到插件或在合并的清单文件中找到解决方法,您可以尝试添加:

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

在您的主清单文件中。尝试在 Play 商店中再次提交应用程序希望它会有所帮助。

在此处查看更多信息。 https://support.google.com/googleplay/android-developer/answer/12085295?hl=en

Github问题:https://github.com/crazecoder/open_file/issues/204


0
投票

检查您的 Alpha、Beta 版本和开放测试轨道。有时,如果您的其他轨道具有此权限,则生产中的构建将被拒绝。因此,删除这些轨道中的旧版本并尝试将新的 APK 上传到生产轨道。


0
投票

如果您没有手动添加它,它可能是由 pubspec.yaml 文件中的库自动生成的。解决方法如下:

  1. 检查您的 AndroidManifest.xml 文件,确保您没有手动添加

    REQUEST_INSTALL_PACKAGES
    权限。如果没有,请继续执行以下步骤。

  2. 导航到项目目录中的以下位置:

    build/app/outputs/logs/manifest-merger-release-report.txt

  3. manifest-merger-release-report.txt
    文件中,搜索
    REQUEST_INSTALL_PACKAGES
    以识别哪些插件正在调用此权限。就我而言,插件是:

    • 打开文件
    • url_启动器
    • 信任位置
  4. 如果您的项目不需要这些插件,请考虑从 pubspec.yaml 文件中删除它们或将它们更新到最新版本。

  5. 或者,您可以在 Android Studio 中执行全局搜索

    REQUEST_INSTALL_PACKAGES
    。如果您发现自动生成的文件调用此权限,请评论或删除这些实例。如果这些文件包含返回权限的代码,请将
    REQUEST_INSTALL_PACKAGES
    替换为现有权限,例如
    permission.INTERNET

注意:在 VSCode 中执行全局搜索

REQUEST_INSTALL_PACKAGES
可能不会产生结果。确保在此步骤中您的项目已在 Android Studio 中打开。

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