flutter小记 | 打包命令 flutter build apk --split-per-abi

142 阅读1分钟

使用打包命令时,会生成x86、v7a、v8a三个不同的包。 但是每个包的VersionCode都与当前的设置不同。

arm64-v7a -> VersionCode:1001,
arm64-v8a -> VersionCode:2001,
x86_64 ->  VersionCode: 3001

这不符合常理,从flutter目录里,可以看到逻辑是这样的 /packages/flutter_tools/gradle/flutter.gradle

def abiVersionCode = ABI_VERSION.get(output.getFilter(OutputFile.ABI))
    if (abiVersionCode != null) {
        output.versionCodeOverride = abiVersionCode * 1000 + variant.versionCode
    }

这里,修改一下就可以了

def abiVersionCode = ABI_VERSION.get(output.getFilter(OutputFile.ABI))
    if (abiVersionCode != null) {
        //output.versionCodeOverride = abiVersionCode * 1000 + variant.versionCode
        output.versionCodeOverride = variant.versionCode
    }