美文网首页
Flutter Android 打包

Flutter Android 打包

作者: 你累吗 | 来源:发表于2020-11-01 00:31 被阅读0次

安卓打包分为两种:

  1. 拆分打包(上传应用市场使用)
  2. 合并打包(分发使用)

1. 拆分打包

拆分打包是指的针对不同的CPU进行打包,比如arm和arm64指的是32位、64位的abi。

这种方式主要是为了上架google市场使用的。
这种方式打的包,其中的版本号不是flutter的pubspec.yaml中填写的版本,而是会带上前缀。这是google官方推荐的方式(https://developer.android.com/studio/build/configure-apk-splits#configure-APK-versions)。

即如果我们版本code填10,那么会带有前缀,比如“1010”、“2010”,比如我们填写的版本号是10,那么通过反编译apk我们可以看到。

app-armeabi-v7a-release.apk打出来的versionCode是1010。
app-arm64-v8a-release.apk打出来的versionCode是2010。
app-x86_64-release.apk打出来的versionCode是4010。

拆分打包命令

flutter build apk --obfuscate --split-debug-info debuginfo   --target-platform android-arm,android-arm64,android-x64 --split-per-abi

此时会生成

app-arm64-v8a-release.apk   app-armeabi-v7a-release.apk   app-x86_64-release.apk 

对应不同CPU类型的包

2. 合并打包

合并打包是指将两个版本或者三个版本的安装包,打到一个apk中,即会增加apk的大小,但是对于国内手机是比较友好的。比如2020款的红米9A居然还是32位版本。

这种方式可以用来在国内的各种分发平台或者直接发给用户使用。

flutter build apk --obfuscate --split-debug-info debuginfo   --target-platform android-arm,android-arm64,android-x64

去掉--split-per-abi即可,target-platform选择自己想要加入的cpu架构,这种打包会生成

app-release.apk

这种打包方式会增加apk包的大小。

相关文章

网友评论

      本文标题:Flutter Android 打包

      本文链接:https://www.haomeiwen.com/subject/lotyvktx.html