zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    this指向
    作用域链
    入门
    一、servlet之初见
    jdbc之mysql
    第六章、树和二叉树
    第七章、暴力求解法
    机试
    第十三章、字符串
    栈和队列
  • 原文地址:https://www.cnblogs.com/hbolin/p/11115564.html
Copyright © 2011-2022 走看看