问题:
问题记录:Flutter Debug运行失败 couldn’t find libflutter.so
AS编译可以正常,编译但是一运行就提示失败:
2020-05-21 13:33:43.049 21224-21224/ FATAL EXCEPTION: main
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "==/base.apk!/lib/armeabi-v7a, /system/lib]]] couldn’t find “libflutter.so”
但是如果是用AS的 Android项目来运行,确实可以打包成功运行的
解决:
旧的abi配置是:
buildTypes {
ndk {
abiFilters 'armeabi-v7a'
}
}
修改为:
buildTypes {
release {
ndk {
abiFilters 'armeabi-v7a'
}
}
debug {
minifyEnabled false
ndk {
// 设置支持的 SO 库构架,注意这里要根据你的实际情况来设置
abiFilters 'armeabi-v7a', 'arm64-v8a'//, 'armeabi', 'x86', 'x86_64', 'mips', 'mips64'
}
}
}
原因
libflutter.so 这个库是Flutter的编译自带的,编译的版本是 arm64-v8a。说明Flutter是只支持64位手机的。 但是如果 设置 arm64-v8a ,那么32位的手机就不能跑(虽然32位的手机占比非常小 <2%)因此为了让32位的机器也能运行,那么可以设置:abiFilters ‘armeabi-v7a’
。