过去,我在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和捆绑包的版本代码之间的冲突吗?
答案 0 :(得分:2)
使用versionCode 90000035,因为这是您的用户之前收到的所有其他版本的第一个数字。