今年年初公司開始使用Flutter進(jìn)行雙端開發(fā),第一次打包apk時(shí)發(fā)現(xiàn)怎么應(yīng)用在32位的機(jī)器上就直接奔潰了。然后錯(cuò)誤日志中顯示couldn't find "libflutter.so",檢查apk發(fā)現(xiàn)怎么只有armeabi-v8a的so庫而沒有v7a的so庫。
這樣總不行吧,然后查找資料后,指定target-platform。可以只打出armeabi-v7a的apk包,因?yàn)閍rm64cpu架構(gòu)是可以像下兼容的所以暫時(shí)可以滿足上架需求。
flutter build apk --release --target-platform=android-arm -t lib/main_release.dart
ndk {
abiFilters "armeabi-v7a
}
結(jié)果如下:

只有armeabi-v7a
最近公司需要上架Google Play,新規(guī)則需要上傳的apk支持64位。那原來的方法就行不通了,只能另尋他法。
flutter build apk --release --target-platform android-arm,android-arm64 -t lib/main_release.dart

同時(shí)包含arm和arm64so庫
打包結(jié)果如下:

滿足要求
另外上傳Google Play可以使用appbundle的打包方式flutter build appbundle