对于我的一个项目,我需要将本机 c 代码调用到我的java class
. 为此,我做了以下步骤。
在我的 java 类中,我声明了我的项目所需的一些本机方法。IE
public native String print(String pM,int len); public native int openPrint();
我启动了如下库文件
static { System.loadLibrary("print"); }
在此之后,我创建了关于 java 代码的头文件。
创建c文件并在c中实现上述方法
在此之后我生成了库文件,即
libprint.so
使用ndk-build
库文件创建成功
libs->armeabi->libprint.so
每当我运行该 java 应用程序时,它都会给出错误提示
Exception in thread "main" java.lang.UnsatisfiedLinkError: no print in java.library.path
我该如何解决这个问题。?
我想将这种应用程序提供给其他 Android 开发人员,以便他们可以在不进行 Native 调用且不创建libprint.so
文件的情况下创建此应用程序
这意味着我必须将自己的 API 提供给应用程序开发人员。为此,我必须创建 JAR 文件。其中包括java.class
,libprint.so
(共享库)等...
如何创建 JAR 文件,其中libprint.so
还包括..
我正在使用 Eclipse 和 open-jdk6 在 ubuntu 中完成上述所有工作。