
package net.lu;
public class HelloJNI {
static {
System.loadLibrary("HelloJNI")
}
public native static int get()
public native static void set(int i)
public static void main(String[] args) {
HelloJNI test = new HelloJNI()
test.set(10)
System.out.println(test.get())
}
}
2、在HelloJNI.java文件所在目录下编译.java文件。
javac HelloJNI.java
3、生成.h头文件,需要注意的是,要在src目录层生成文件
... src] # javah -jni net.lu.HelloJNI
4、编写.c 文件
#include "net_wangliping_HelloJNI.h"
int i = 0
JNIEXPORT jint JNICALL Java_net_wangliping_HelloJNI_get(JNIEnv *env, jclass jc)
{
return i
}
JNIEXPORT void JNICALL Java_net_wangliping_HelloJNI_set(JNIEnv *env, jclass jc, jint j)
{
i = 2*j
}
5、生成.so文件
[root@turbolinux src]# gcc -I/usr/java/jdk1.5.0_13/include/linux -I/usr/java/jdk1.5.0_13/include -fPIC -shared -o libHelloJNI.so HelloJNI.c
6、eclipse 调用SO文件
最简单的方式,调用 System.out.println(System.getProperty("java.library.path"))
得到/usr/java/jdk1.5.0_13/jre/lib/i386,将SO文件放在该目录下
运行java程序,输出了由C语言函数计算出的结果
1.在解决方案中添加Android绑定库2.新建的项目中,有一个Jars文件夹,右键该文件夹,新建现有项,在d出的选择框中选择你要引入的jia包(不需要拷贝进来)
3.等待片刻,引入成功,会发现jar包有刚引入的jar包,
4.点击该jar包,把生成 *** 作改成'EmbeddedJar,然后编译该项目
5.在你的安卓主项目中引入刚刚新建的Android绑定库项目,就可以正常使用jar包里的方法啦,而且发现方法已经转成了C#代码,但注意原来jar包中的方法名和类名在转成C#后,首字母可能会变成大写.
这个范例是如何在Xamarin.Android中去使用一个我们自行在开发的JAR档案.主要会执行的步骤如下
1. 在Xamarin建立一个Android Java Bindings Library 专案
2. 加入自行开发的JAR档案到这个专案里面
3. 在Xamarin.Android专案中参考Android Java Bindings Library 专案
1. 写一个Java 程式并且把他包装成JAR档案
1.1 撰写以下程式码并且储存副档名为java的档案
package com.xamarin.testbindingpublic class test{
public String method(){
return "Hello jar"
}
}
1.2 在终端机下用Javac指令来编译 test.java
编译完成会产生出一个test.class档案
1.3 建立一个Manifest.mf档案.
手动建立一个副档名为mf的Manifest.mf档案.接著开启这个档案编辑它
在档案中的第一行宣告这个JAR档的进入点是由那只程式(class档案)来进入
这边我们输入 Main-Class: com.xamarin.testbinding.test
clip_image001[4]
1.4 将test.Class档案复制到com.xamarin.testbinding 资料夹下
在目前所在的目录下建立底下的资料夹结构,com>xamarin>testbinding
然後将test.class拷贝到testbinding资料夹下
clip_image003[4]
1.5 使用JAR指令把test.class打包成JAR档案
在终端机介面下执行
jar cvfm testJ.jar manifest.mf ./com/xamarin/testbinding/test.class
把test.class打包成JAR档案
clip_image004[4]
2. 新建Android Java Bindings Library
2.1 建立Android Java Bindings Library档案
New >>Android >>Android Java Bindings Library
clip_image006[4]
2.2 把JAR档案加入到目前专案
2.2.1在专案的Jars资料夹按下滑鼠右键>>添加>>添加档案
把JAR档加入这个专案
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)