您好我有一个必须调用本机程序的java程序,这个本机程序由两个so文件给出。所以我创建了我的so文件,以便使用这个本机程序API为我的java程序做一些事情。我试图将两个so文件与我创建的so文件合并为一个文件,然后运行我的java程序。然而,它似乎以这种方式失败了。更具体一点,这是我的例子。
我有一个java程序A,它必须调用一些本机代码。因此,我编写了一些本机代码并将其构建为共享库(称为:C.so)。
不幸的是,我编写的本机代码必须使用其他代码中的其他代码。 (A.so,B.so)
因此,任何想法如何使用A.so和B.so编译我的so文件以使我的java程序工作?
答案 0 :(得分:0)
我假设以下内容:
如果设置LD_LIBRARY_PATH环境变量以包含其中包含库的目录,您将获得所需的结果。
有关更多说明和替代方法,请参阅https://github.com/bimargulies/jni-origin-testbed。