问题记录:Flutter 运行失败 libflutter.so

问题:

问题记录: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’

参考

Flutter杂症 couldn’t find "libflutter.so

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章