我已经生成了一个本机库ndk-build,我可以在我的Android应用程序中加载和使用它.但是,我想针对我的应用程序的这一部分编写一些测试.
在我的测试中调用本机函数时,我收到此异常消息:
java.lang.UnsatisfiedLinkError: no process in java.library.path
Run Code Online (Sandbox Code Playgroud)
... process我要导入的本地库在哪里命名libprocess.so.
我正在使用Roboelectric进行测试,并运行这个特殊的测试RobolectricTestRunner,如果它有所作为.
如何让我的测试项目"看到"本机库?
编辑: 我正在我的应用程序中加载库,如下所示:
static {
System.loadLibrary("process");
}
public static native int[] process(double[][] data);
Run Code Online (Sandbox Code Playgroud)
调用Process.process(array)在应用程序中正常工作(库已加载),但在从上面给出的异常的测试运行时失败.
编辑2:
如果我设置-Djava.library.path="<the directory of libprocess.so>"为VM参数,则:
System.out.println(System.getProperty("java.library.path"));
Run Code Online (Sandbox Code Playgroud)
确实显示了我设置的路径,但我仍然得到相同的异常.我将目录设置为:
<project-name>/libs/x86
Run Code Online (Sandbox Code Playgroud)
......但作为一条绝对的道路.