这个问题的原因是因为默认的打包命令flutter build apk
只出现在“armeabi-v7a”文件夹下,根据下面的表格可以看到这样打包出来的apk是不支持ARMv8的cpu的,所以我们打包的话用这个命令flutter build apk --target-platform android-arm64
image.png
经过测试发现上面的方法打包出来的apk中flutter.so只包含在arm64-v8a的包中,这样armeabi-v7a的硬件就不能打开这个app了,然后我看到了这篇文章:
https://medium.com/flutterpub/flutter-app-couldnt-find-libflutter-so-c95ad81cbccd
改为了如下配置:
android {
defaultConfig {
....
....
ndk {
abiFilters'armeabi-v7a'
}
}
....
....
....
}
然后打包的so文件夹只有这一个了
image.png
这个方法的前提是你的第三方so有这个cpu的so文件