如何解决拆分后的APK和捆绑包的版本代码之间的冲突?

时间:2019-06-24 08:37:54

标签: android android-version android-app-bundle

过去,我在gradle文件中使用以下配置来通过apk拆分生成版本代码:

splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi', 'armeabi-v7a', 'arm64-v8a'
            universalApk true
        }
    }


project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5,
                                'mips64' : 6, 'x86': 8, 'x86_64': 9]

    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.versionCodeOverride =
                    project.ext.versionCodes.get(output.getFilter(
                            com.android.build.OutputFile.ABI), 0) * 10000000 +
                            android.defaultConfig.versionCode
        }
    }

使用此配置,我分别获得x86,armeabi-v7a和armeabi的版本代码,例如80000034、20000034、10000034。

由于我们现在可以使用App Bundle,所以我想跳过这段代码,直接使用Bundle。

但是,当我尝试上传捆绑软件时,我收到错误消息,指出与拆分的apk相比,捆绑软件的版本代码更低。 该捆绑软件的版本代码为35,显然小于10000034。 结果是,由于版本冲突,用户将不会收到任何更新。

您能告诉我如何解决拆分的apk和捆绑包的版本代码之间的冲突吗?

1 个答案:

答案 0 :(得分:2)

使用versionCode 90000035,因为这是您的用户之前收到的所有其他版本的第一个数字。