【问题标题】:Apk Upload error in playstore - 64 bit warningPlaystore 中的 Apk 上传错误 - 64 位警告
【发布时间】:2019-12-25 08:50:04
【问题描述】:

我正在使用此实现:'com.google.vr:sdk-panowidget:1.160.0' 以显示 360 度图像,但出现以下错误;在将应用上传到 Play 商店时:

Error
This release is not compliant with the Google Play 64-bit requirement

The following APKs or App Bundles are available to 64-bit devices,
 but they only have 32-bit native code: 130.

Include 64-bit and 32-bit native code in your app. Use 
the Android App Bundle publishing format to automatically
ensure that each device architecture receives 
only the native code that it needs. 
This avoids increasing the overall size of your app. Learn More

注意:该库未创建 lib/x86_64.so 文件。

请帮忙!

【问题讨论】:

  • 使用 Android App Bundle 发布格式自动确保每个设备架构只接收它需要的本机代码。
  • 我试过了,但它仍然没有添加 64 位支持。我仍然只看到 'armeabi-v7a' 、 'arm64-v8a' 和 'x86' 有什么我错过了吗?
  • 您使用1.160.0 版本有什么原因吗?我建议你至少试试 1.200.0 版本
  • arm64-v8a 是需要构建的; x86_64 只是没用,因为没有硬件设备。投票决定关闭它,因为根据错误消息(输出)不清楚你在问什么。
  • 我无法将 apk 上传到游戏商店,因为它给出了上述警告。

标签: android google-play-services panoramas


【解决方案1】:

我的应用遇到了同样的问题,这对我有用。

我使用 AAB 格式上传应用程序,我的 build.gradle 具有以下架构目标:“armeabi-v7a”、“arm64-v8a”、“x86”、“x86_64”。 但是在构建项目之后,没有在 AAB 中创建“x86_64”文件夹。所以我决定删除 'x86' 和 'x86_64' 现在我的 build.graddle 看起来像这样

     defaultConfig {
        ...
        ndk {
            abiFilters  "armeabi-v7a", "arm64-v8a"
        }
        ...
     }
     splits {
        abi {
            ...
            include  "armeabi-v7a", "arm64-v8a"
        }
     }
     applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
            def versionCodes = ["armeabi-v7a":1, "arm64-v8a":2]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
     }

这允许我在 google playstore 中发布任何问题。 希望对您有所帮助!

注意:请注意,删除目标架构会导致目标设备减少,正如@UzairAslam 在下面的 cmets 中所说。因此,请尝试了解此解决方法是否适合您的项目需求。

【讨论】:

  • 我可以使用上面的代码解决我的问题。谢谢朋友。
  • 非常感谢布鲁诺这篇文章对我帮助很大
  • 您确实意识到不推荐这样做并且将针对较少的设备?
  • @UzairAslam 是的,我确实意识到了。因此,我记下了进行该更改之前和之后的目标设备数量。结果是未定位的设备数量为 1(来自总共 9360 个设备)。所以我们决定删除我们的应用程序永远不会在其中运行的 'x86' 'x86_64' 目标架构,我们对这个决定感到满意。我们使用 x86 目标架构只是为了在应用程序在 Android Emulator 上运行时获得更好的性能,而 Android Emulator 实际上运行在 x86 架构上。请,如果您有更好的解决方案,请随时分享。
  • @BrunoSendras.. 只要你提到它,就可以了。因为人们可能会在不知道其含义的情况下采用您的解决方案。既然你提到了它,那很好。干杯
【解决方案2】:

从 2019 年 8 月 1 日开始:

  • 在发布到 Google Play 时,所有包含本机代码的新应用和应用更新都必须提供 64 位版本和 32 位版本。
  • 扩展:Google Play 将继续接受对使用以下 SDK 的现有游戏的仅 32 位更新:

    • Corona Labs SDK - 直到 2020 年 8 月
    • Adobe Air 软件和 AIR SDK - 直到 2020 年 8 月
    • Unity 5.6.7 或更早版本 - 直到 2021 年 8 月

更多信息请见https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html

【讨论】:

  • 是的。我尝试过这个。在我的 gradle 中添加了 ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' 但它没有创建 'x86_64' 文件夹。
  • 我在我的 gradle 中添加了 ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' 但它没有创建 'x86_64' 文件夹
【解决方案3】:

检查分析。步骤是Here。 按照步骤生成apk后,上传到play store时出现同样的错误。

在上传到 Play 商店之前,请检查您的 apk 是否支持 64 位架构。遵循并检查Here 给出的说明。特别关注链接中提到的Using Bundletool

提示: 在使用捆绑工具时。将您的 jks、aab 和构建工具 jar 文件保存在同一文件夹中。

如果您仍然在命令提示符中收到警告“警告:App Bundle contains 32-bit RenderScript bitcode file (.bc) which disabl 在 Android 中支持 64 位。 64 位本机库不会包含在生成器中 ed APKs." 那么你需要检查你的代码。

可能性是,您可以将项目添加为模块并且可能具有本机代码。那么如何检查你的项目是否有本机代码。为此检查每个模块中的 res/raw 文件夹。它可能有 *.bc 文件。如果您的模块正在使用任何脚本文件/类,请尝试在您的模块 gradle 文件中更新 renderscriptTargetApi

如果问题得到解决,那么您可能不会在任何文件夹中看到 *.bc 文件,然后在命令提示符下再次检查是否支持 64 位。如果您不会收到任何警告,那么您就可以开始部署了。

【讨论】:

    【解决方案4】:

    我也遇到了同样的问题,因为 lib 中没有 x86_64.so 文件,但它正在生成“armeabi-v7a”、“arm64-v8a”和“x86”.so 文件,我只是通过更新解决了这个问题图书馆 我有'org.adblockplus:adblock-android-webview:3.14',我刚刚将它更新到 3.16 问题就解决了。 所以请检查您的库文档并注意有时文档不包含升级版本,您只需点击并尝试(例如从 3.14 更改为 3.15 或 3.16)即可获得最新版本。

    【讨论】:

      猜你喜欢
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 2019-05-13
      • 2018-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多