Flutter libflutter.so库兼容问题

今年年初公司开始使用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
}

结果如下:


只有armeabi-v7a

最近公司需要上架Google Play,新规则需要上传的apk支持64位。那原来的方法就行不通了,只能另寻他法。
flutter build apk --release --target-platform android-arm,android-arm64 -t lib/main_release.dart

同时包含arm和arm64so库

打包结果如下:
满足要求

另外上传Google Play可以使用appbundle的打包方式flutter build appbundle

你可能感兴趣的:(Flutter libflutter.so库兼容问题)