flutter 实战

# flutter 实战

[TOC]

# 一、打包发行

# 1.1 更改包名

全局替换applicationId

修改了build.gradle后最好flutter clean

# 1.2 压缩打包

# 1.2.1so优化

参考教程:为何大厂APP如微信、支付宝、淘宝、手Q等只适配了armeabi-v7a/armeabi? (opens new window)

  1. armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年12月以后的生产的大部分Android设备都使用它.

  2. arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。(可向下兼容)

  3. armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。

  4. x86: 平板、模拟器用得比较多。

  5. x86_64: 64位的平板。

    总的来说,就是一个Android设备可以支持多种ABI,设备主ABI和辅助ABI,以arm64-v8a为主ABI的设备,辅助ABI为armeabi-v7aarmeabi,以armeabi-v7a为主ABI的设备,辅助ABI为armeabi

  • flutter
flutter build apk --release  --target-platform android-arm64

flutter run --release
1
2
3

Flutter打包Apk会包含三种CPU架构信息以适配不同架构的设备(x86_64,arm64-v8a,armeabi-v7a),目前大部分手机都是armeabi-v7a这个架构,所以我们可以分架构分别打包,包体减小较明显,但是需要舍弃小部分机型。

网上说微信QQ都只用 armeabi-v7a。

  • Android:

去除/android/app/src/jniLibs/arm64-v7a以外的文件夹。

  • 判断CPU类型
adb shell getprop ro.product.cpu.abi
1

# 五、参考教程