这个问题的原因是因为默认的打包命令flutter build apk只出现在“armeabi-v7a”文件夹下,根据下面的表格可以看到这样打包出来的apk是不支持ARMv8的cpu的,所以我们打包的话用这个命令flutter build apk --target-platform android-arm64
经过测试发现上面的方法打包出来的apk中flutter.so只包含在arm64-v8a的包中,这样armeabi-v7a的硬件就不能打开这个app了,然后我看到了这篇文章: medium.com/flutterpub/…
改为了如下配置:
android {
defaultConfig {
....
....
ndk {
abiFilters'armeabi-v7a'
}
}
....
....
....
}
复制代码
然后打包的so文件夹只有这一个了
这个方法的前提是你的第三方so有这个cpu的so文件
老外也问过这个问题:
博客主要围绕Flutter打包APK展开,指出默认打包命令生成的APK在“armeabi-v7a”文件夹下,不支持ARMv8的CPU。测试发现特定方法打包出的APK中flutter.so只在arm64 - v8a包中,导致armeabi - v7a硬件无法打开app,还提及解决配置及相关参考文章和问题。
1360

被折叠的 条评论
为什么被折叠?



