管理本机android的体系结构版本

管理本机android的体系结构版本,android,react-native,google-play,react-native-android,Android,React Native,Google Play,React Native Android,谷歌为应用程序设置了更新apk文件的截止日期,因此所有版本的应用程序都需要单独的文件 因此,在build.gradle文件中,我做了以下更改: def enableSeparateBuildPerCPUArchitecture = true ... splits { abi { ... include "armeabi-v7a", "x86", "arm64-v8a", "x86-64" ...

谷歌为应用程序设置了更新apk文件的截止日期,因此所有版本的应用程序都需要单独的文件

因此,在build.gradle文件中,我做了以下更改:

def enableSeparateBuildPerCPUArchitecture = true
...
splits {
        abi {
            ...
            include "armeabi-v7a", "x86", "arm64-v8a", "x86-64"
            ...
        }
    }
...
applicationVariants.all { variant ->
        variant.outputs.each { output ->

            def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a":3, "x86-64":4]
            ...
        }
    }
起初我认为它工作得很好,因为在…android\app\build\outputs\apk\release目录中,我找到的文件很少,而不是一个。然而,首先让我吃惊的是,我收到了3个文件版本:arm64-v8a、x86和armeabi-v7a。 未生成x86-64版本是否正确


第二件事是,当我在GooglePlay控制台上更新文件时,我仍然得到这样一个信息,即文件没有被架构版本相应地分开。还有什么我应该做的吗?

好的,我找到了。应使用“x86_64”而不是“x86-64”。然后它生成所有4个版本

好的,我找到了。应使用“x86_64”而不是“x86-64”。然后它生成所有4个版本

我想你是糊涂了。谷歌设定了一个日期,所有应用程序都必须支持64位,而不是所有应用程序都必须有单独的64位APK。仍然允许通过多ABI apk捆绑包进行支持。这一切从2019年8月1日开始(除了少数例外)。我收到了一封邮件,其中包含以下信息:“到2019年8月1日,所有使用本机代码的应用程序必须在32位版本之外提供64位版本才能发布更新。在过去的一月份,我们重申,这是为创新让路所必需的,也是为了期待未来的Android设备只支持64位代码。“我明白我应该提供一个单独的64位版本,但我不是100%确定这意味着所有应用程序都必须支持64位CPU。这并不意味着他们需要单独的应用程序包。虽然这样做不会有什么坏处,但你可以从play store获得较小的下载量。因此这不是浪费,尽管我强烈建议您在这样做时使用Fastlane或类似工具自动化构建上载。至于x86-64二进制文件,您确定您的所有库都提供它们吗?这是我最不关心的一个问题,因为Android设备上x86-64的唯一主要用途是模拟器——99%以上的手机/平板电脑都是ARM。我之前试图拆分apk文件,但遇到了一些问题,只是把它放在了我的待办事项列表上;)但既然谷歌提醒了我,我认为应该这样做。我想你很困惑。谷歌设定了一个日期,所有应用程序都必须支持64位,而不是所有应用程序都必须有单独的64位APK。仍然允许通过多ABI apk捆绑包进行支持。这一切从2019年8月1日开始(除了少数例外)。我收到了一封邮件,其中包含以下信息:“到2019年8月1日,所有使用本机代码的应用程序必须在32位版本之外提供64位版本才能发布更新。在过去的一月份,我们重申,这是为创新让路所必需的,也是为了期待未来的Android设备只支持64位代码。“我明白我应该提供一个单独的64位版本,但我不是100%确定这意味着所有应用程序都必须支持64位CPU。这并不意味着他们需要单独的应用程序包。虽然这样做不会有什么坏处,但你可以从play store获得较小的下载量。因此这不是浪费,尽管我强烈建议您在这样做时使用Fastlane或类似工具自动化构建上载。至于x86-64二进制文件,您确定您的所有库都提供它们吗?这是我最不关心的一个问题,因为Android设备上x86-64的唯一主要用途是模拟器——99%以上的手机/平板电脑都是ARM。我之前试图拆分apk文件,但遇到了一些问题,只是把它放在了我的待办事项列表上;)但由于谷歌提醒了我,我认为应该这样做。