CL_Strive 2024-03-14 11:13 采纳率: 0%
浏览 6

libflutter.so not found

flutter项目 打包64位apk 安装在真机上闪退

Zip: lseek on fd -2 failed: Bad file descriptor
10:49:44.906  3332-3332  Flutt...ader pid-3332              E  Flutter initialization failed.
                                                               java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found

打包32位在真机上可以正常运行,查看两个安装包的区别,发现64位包里缺少了很多的so文件。
网上尝试了很多方法 都无法解决问题

  • 写回答

3条回答 默认 最新

  • Kwan的解忧杂货铺 Java领域优质创作者 2024-03-14 11:14
    关注

    CL_Strive 上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    出现"libflutter.so not found"的错误可能是由于没有正确处理flutter引擎的so文件导致的。根据你提供的信息,我给出几种可能的解决方案。

    1. 检查是否正确编译flutter引擎的so文件:首先,请确保你正确编译了flutter引擎的so文件,可以使用以下命令进行编译:flutter build apk --target-platform android-arm,android-arm64。这将会编译出支持arm和arm64架构的so文件。如果你已经执行了这个命令,那可能是编译过程中出现了错误,请检查编译日志并解决错误。

    2. 检查是否正确设置flutter引擎的so文件路径:请检查你的项目中是否正确设置了flutter引擎的so文件路径。你可以在build.gradle文件中查看flutterRoot的值,在flutter.gradle文件中查看flutterEngineDir的值,这两个路径都应该正确指向flutter引擎的so文件所在的目录。

    3. 尝试手动将so文件复制到正确位置:如果以上两种方法都不起作用,你可以尝试手动将so文件复制到正确的位置。首先,在flutter项目的根目录下执行flutter build apk --target-platform android-arm,android-arm64命令编译出so文件。然后,将编译出的so文件复制到你的Android项目的libs目录下,分别放在libs/armeabi-v7alibs/arm64-v8a两个目录下。最后,重新编译和运行你的Android项目。

    如果你已经尝试了以上解决方案但仍然无法解决问题,你可以尝试以下方法:

    1. 尝试更新flutter版本:运行flutter upgrade命令来确保你使用的是最新版本的flutter。有时候,使用较老的flutter版本可能会导致一些兼容性问题。

    2. 尝试重新安装flutter引擎:如果更新flutter版本后还是无法解决问题,你可以尝试重新安装flutter引擎。首先,执行flutter clean命令来清除项目中的编译缓存。然后,删除flutter引擎的安装目录,并重新运行flutter doctor命令来重新安装flutter引擎。

    希望以上解决方案能帮助你解决问题。如果问题仍然存在,请提供更多的信息,例如完整的错误日志和相关的代码片段,以便我们更好地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月14日

悬赏问题

  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题