loadLibrary Can't load '/usr/local/MATLAB/R2014b/bin/glnxa64/lib

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loadLibrary Can't load '/usr/local/MATLAB/R2014b/bin/glnxa64/lib相关的知识,希望对你有一定的参考价值。

在用matlab写一个小程序的时候报了这个问题,但是我去到这个路径下却是这个so文件是存在的

参考技术A 一端迟帐w犒赏泛尤

Android 5.0 Lollipop 上的 UnsatisfiedLinkError

【中文标题】Android 5.0 Lollipop 上的 UnsatisfiedLinkError【英文标题】:UnsatisfiedLinkError on Android 5.0 Lollipop 【发布时间】:2015-05-13 13:54:15 【问题描述】:

我正在通过以下方式加载我的原生库:

try 
       System.loadLibrary("myNative");
 catch (UnsatisfiedLinkError e) 
       //java.lang.UnsatisfiedLinkError here
       System.load("/data/data/com.my.app/my_native/libmyNative.so");

上述代码在除 Android 5.0 Lollipop 之外的其他设备上运行良好。在 Android 5.0 Lollipop 设备上运行时,我经常收到以下错误:

java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.my.app/my_native/libmyNative.so" is 32-bit instead of 64-bit
at java.lang.Runtime.load(Runtime.java:331)
at java.lang.System.load(System.java:982)

如何解决这个问题?

=== 更新 ====

我将原生库从lib/<archType>/libmyNative.so复制到/data/data/com.my.app/my_native/libmyNative.so,然后使用上面的代码加载库。

【问题讨论】:

Nexus 9?你用的是什么设备?您的错误在这里:is 32-bit instead of 64-bit。针对 64 位库进行编译。 是的,Nexus 9。我知道错误出在哪里。但我正在寻找一种使其与 32 位本机库一起使用的方法。 这是通过APK安装的普通第三方应用程序,还是预装在ROM中?在前一种情况下,该过程应该以正确的模式(32/64 位)启动,具体取决于您在包中包含的本机库的风格。在后一种情况下,请查看***.com/questions/27712921/…。 @mstorsjo,两者都不是。这是我自己的本机代码,ndk-built & used(load) in my own app. 那么应用程序进程应该在 32 位模式下启动就好了 - 使用旧 NDK 版本构建的应用程序应该仍然可以正常工作。你能添加一个清单吗? "unzip -l yourapp.apk" 显示? 【参考方案1】:

似乎打包库的某些方式(将它们从lib/<archType>/libmyNative.so 复制到/data/data/com.my.app/my_native/libmyNative.so)使安装程序感到困惑。安装 APK 时,它应该已经自动提取正确拱类型的库并将它们提供给 System.loadLibrary - 您不需要手动将任何内容复制到自定义目录中,例如 my_native

在这种情况下,<archType> 是现有的(armeabiarmeabi-v7a 等)之一还是您自己的?如果它不是标准之一,安装程序将不知道您的应用包含 32 位本机代码,因此将以首选模式(64 位)启动您的应用进程。

【讨论】:

以上是关于loadLibrary Can't load '/usr/local/MATLAB/R2014b/bin/glnxa64/lib的主要内容,如果未能解决你的问题,请参考以下文章

Can't find model 'en'

Can't bind to 'ngModel' since it isn't a known property of 'input'.

java.io.IOException: Can't read [jrelib t.jar]

es启动报错BindException: Can't assign requested address

UnicodeDecodeError: 'utf-8' codec can't decode byte

redis启动出现错误 can't chdir ...