今年年初公司开始使用Flutter进行双端开发,第一次打包apk时发现怎么应用在32位的机器上就直接奔溃了。然后错误日志中显示couldn't find "libflutter.so"
,检查apk发现怎么只有armeabi-v8a的so库而没有v7a的so库。
这样总不行吧,然后查找资料后,指定target-platform
。可以只打出armeabi-v7a的apk包,因为arm64cpu架构是可以像下兼容的所以暂时可以满足上架需求。
flutter build apk --release --target-platform=android-arm -t lib/main_release.dart
ndk {
abiFilters "armeabi-v7a
}
结果如下:
最近公司需要上架Google Play,新规则需要上传的apk支持64位。那原来的方法就行不通了,只能另寻他法。
flutter build apk --release --target-platform android-arm,android-arm64 -t lib/main_release.dart
打包结果如下:
另外上传Google Play可以使用appbundle的打包方式flutter build appbundle