Android:由于“lib”中的文件夹结构导致UnsatisfiedLinkError?

时间:2014-11-11 10:32:18

标签: java android unsatisfiedlinkerror

我的应用程序现在使用2个本机库,我们称之为LibA和LibB。以前我的应用程序只使用了1个本机库(LibA)而没有问题。

  • LibA仅针对armeabi编译
  • LibB是为armeabi,armeabi-v7a和x86编译的。

当我解压缩检查时,会在apk中产生这种结构:

  • appfolder / lib / armeabi / liba.so
  • appfolder / LIB / armeabi / libb.so
  • appfolder / lib / armeabi-v7a / libb.so
  • appfolder / LIB / 86 / libb.so

通过System.LoadLibrary加载LibB(" b")工作正常。

但是,使用UnsatisfiedLinkError在Nexus 4中加载LibA失败。

当我删除" armeabi-v7a"和" x86"来自LibB项目的文件夹,只留下armeabi文件夹,两个本地库都可以正常工作。

我猜测android尝试从" armeabi-v7a"加载libA。文件夹,因为该文件夹存在,但无法在其中找到liba.so。

如果我的猜测是真的,如何预防?

我对android中的本机库很新。提前谢谢!

0 个答案:

没有答案