java.lang.UnsatisfiedLinkError:dlopen失败:库";。所以";“需要”或“由”打开;。所以";对于命名空间“0”不可访问;“类加载器命名空间”;
我正在从事一个Android项目,需要添加一个(.jar)库java.lang.UnsatisfiedLinkError:dlopen失败:库";。所以";“需要”或“由”打开;。所以";对于命名空间“0”不可访问;“类加载器命名空间”;,java,android,dlopen,.so,Java,Android,Dlopen,.so,我正在从事一个Android项目,需要添加一个(.jar)库awesomework.jar 当我添加库并在Android设备中运行项目时,我收到以下错误 java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib64/libDecodeApi.so" needed or dlopened by "/system/lib64/anotherlib.so" is not accessi
awesomework.jar
当我添加库并在Android设备中运行项目时,我收到以下错误
java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib64/libDecodeApi.so" needed or dlopened by "/system/lib64/anotherlib.so" is not accessible for the namespace "classloader-namespace"
程序在我的awesomework.jar
行System.loadLibrary(“DecodeApi”)中崩溃代码>
我的设置:
- 安卓操作系统版本:10
- 中文版本:18
- 目标版本:18
我在寻找什么
,我试图在build.gradle
中设置main.jniLibs.srcDirs=['libs']
。这不起作用,因为当我从android设备上取下libDecodeApi.so
时,在/system/
目录下搜索另一个.so
文件时再次出现了错误,比如libc++.so
和许多其他目录。因此,我知道从/system
目录中删除几乎所有必需的共享对象不是解决方案
我发现所有需要的库都在/vendor
目录下。我不太确定,但是由于我的targetSdkVersion
和我的Android操作系统版本,我的awesomework.jar
应该在/verdor
目录下搜索那些对我的Android操作系统有效的共享对象吗
我是否可以在awesomework.jar之外执行一些操作,并强制我的库在/vendor
目录中搜索?我没有访问awesomework.jar
源文件的权限
如果我可以访问awesomework.jar
源文件(现在在更学术的层次上搜索),是否可以添加System.loadLibrary()的完整路径代码>以强制在/vendor
目录中搜索?类似于System.loadLibrary(“vendor/lib64/DecodeApi”)代码>。在项目目录中提供路径
还有其他想法吗?如何处理这个问题并找到解决方案