如何解决拆分的 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,因为这是高于您的用户之前收到的所有其他版本的第一个数字。
过去我在 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,因为这是高于您的用户之前收到的所有其他版本的第一个数字。