雨夜敬清秋
雨夜敬清秋
  • 发布:2020-04-14 15:18
  • 更新:2020-12-13 16:37
  • 阅读:4161

【报Bug】找不到要加载的libimagepipeline.so,安卓闪退

分类:uni-app

couldn't find DSO to load: libimagepipeline.so
caused by: dlopen failed: "/data/data/bundleId/lib-main/libimagepipeline.so" is 64-bit instead of 32-bit

安卓某些机型闪退,原因如上

搜索到一些信息

https://www.jianshu.com/p/ad95c885c2f8

https://blog.csdn.net/u013531824/article/details/53931307

2020-04-14 15:18 负责人:DCloud_Android_ST 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

云打包吗 CPU支持类型选择了那些?

  • 雨夜敬清秋 (作者)

    cpu类型中的3个全部勾选了,云打包,2.6.9的hbx

    2020-04-14 15:38

  • DCloud_Android_ST

    回复 雨夜敬清秋: 有原生插件吗

    2020-04-14 15:41

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 有

    2020-04-14 15:41

  • DCloud_Android_ST

    回复 雨夜敬清秋: 猜测是原生插件引起的问题。插件有so文件吗 是不是没有64的so。appid提供下

    2020-04-14 15:43

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 发你私信了,请查收

    2020-04-14 15:44

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 应该不是原生插件引起的,因为我单独运行这个原生插件是正常的,但是在我的项目里就不行,根据上面的报错,我通过搜索引擎获悉的信息是:系统在加载SO库时,只会加载属于同一种ABI类型的.SO文件。如果设备可以同时支持这三种ABI类型的.SO文件。而这三者的优先级是arm64-v8最高,armeabi-v7次之,armeabi最后。当存在arm64-v8a类型的.SO文件时,只会加载这种ABI类型的.SO文件。

    2020-04-14 15:51

  • DCloud_Android_ST

    回复 雨夜敬清秋: 去掉64是不是就我没问题了

    2020-04-14 15:53

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 刚刚问了原生插件作者,这个插件没有使用到so库,这个插件:https://ext.dcloud.net.cn/plugin?id=873

    2020-04-14 15:53

点点_

点点_ - dsfsdf

请问最终是如何解决呢?我也遇到过了,说是未加载到so库,我实际到提示的目录去看,是有那个库的。

  • 点点_

    结论:存在多个libimagepipeline.so,打包进项目里的so与小程序sdk用的so版本不一致。


    一开始以为是 soload问题,对soload进行屏蔽,然并卵

    后对apk进行解压,查看so库大小,apk里的是 230k,解压demo,查看so库大小,10K。把lib里的demo复制进项目apk,可以正常运行,可以肯定出,因为打包的so库不对导致无法正常运行。

    查看了一下我们项目集成的第三方库,发现有一个reactnative也也是facebook的。故推测出冲突在这里。


    由于fuck rn。我未再深入查看具体的引用情况。可预知的是不管修改哪个版本,都会rn或者小程序sdk不正常,问了一下开发 DCloud_Android_ST 告知 fresco 只是在 nvue的图片加载上使用,所以目前只能手动避开nvue图片控件的使用了!!!


    好想再 fuck 一下。

    2020-07-13 12:01

  • 雨夜敬清秋 (作者)

    回复 点点_: 你太优秀了

    2020-08-21 09:34

retrocode

retrocode - 现已加入旺旺大礼包全家桶

我也遇到这个问题了, HBX2.9.8 OPPO A53m 安卓5.1.1 进入nvue界面即闪退,
System.err: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so caused by: dlopen failed: "/data/data/bundleId/lib-main/libimagepipeline.so" is 64-bit instead of 32-bit
目前原生模块 只接入了 unipush和Oauth 没有接入其他第三方插件 目测是引擎兼容性BUG..

该问题目前已经被锁定, 无法添加新回复