dlopen无法加载32位而不是64位库

时间:2016-06-27 14:34:39

标签: android dlopen unsatisfiedlinkerror

我开发了一个使用32位库libmylibrary.so的应用程序,但是当我使用system.loadLibrary("mylibrary")时,它表示cannot find library in /system/lib64 or /vendor/lib64。我没有在/data/app-lib .. etc看到我的图书馆。我的Android版本为5.1.1。我甚至在/system/lib64中复制了我的库,但它仍然显示dlopen failed to load 32 bit instaed of 64 bit的错误消息。请提供一些有价值的建议。

2 个答案:

答案 0 :(得分:0)

  

它说无法在/system/lib64

中找到库

IF 应用程序正在lib64中查找库,应用程序很可能是64位应用程序。如果是这样,无论你怎么努力,它都永远不会加载32位库。

在Linux上,您可以通过启动它来检查应用程序是否为64位,然后执行cat /proc/$pid/maps

答案 1 :(得分:0)

感谢受雇俄语,我犯了一个错误。我在我的应用程序的libs文件夹中添加了我的本机库。但是没有添加它来构建我的android studio中的路径依赖项和库。我将它添加到构建路径后,我能够在/ data /中看到我的32位库data / app-name / libs文件夹。因为我正在使用 只有一个32位的库加载并正常工作。

相关问题