Flutter 解决运行时错误 java.lang.UnsatisfiedLinkError...couldn't find "libflutter.so"

集成融云的时候,运行时报错 couldn't find "libflutter.so"

简单的说就是没有找到 flutter.so的库,为什么会这样子呢?因为我在集成融云的时候,有指明使用,很多的so库:

但实际和flutter一起打包编译的时候,flutter并没有每个平台都编译成flutter.so的库,所以实际运行的时候,就会出错。

解决方案:

  1. 打开你的 android 工程的主 module(默认是app) 下的 build.gradle
  2. 修改 abiFilters 字段, 只指定单一架构. 针对手机的应用推荐使用 "armeabi-v7a"; 针对平板的应用推荐使用x86

 

开发小技巧:如何在android studio中直接查看打包的apk libs下是否有so库:Bulid -> Analyze APK

 

 

实际测试了一下:一个空的flutter的项目,debug包:

release包:

 

更改配置:

        buildTypes {
            debug {
                ndk {
                    abiFilters "x86","x86_64","arm64-v8a"
                }
            }
            release {
                ndk {
                    abiFilters "armeabi-v7a"
                }
            }
        } 

 

参考资料:

https://juejin.im/post/5c2260e9e51d45778a5c8cd2

 

转载于:https://www.cnblogs.com/hbolin/p/11115564.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值