如何解决拆分的 apk 和 bundle 的版本代码之间的冲突?

How to resolve conflict between version codes of splitted apks and bundles?

过去我在 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 Bundles,我想跳过这段代码直接使用bundle。

但是当我尝试上传包时,我收到错误消息,指出我的包的版本代码低于我拆分的 apk。 bundle 的版本号是 35,明显小于 10000034。 这导致用户由于版本冲突而收不到任何更新。

你能告诉我,如何解决拆分的 apk 和 bundle 之间的版本代码冲突?

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