Xamarin 怎么调用java的 so文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin 怎么调用java的 so文件相关的知识,希望对你有一定的参考价值。
1 、编写java代码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语言函数计算出的结果 参考技术A 1 、编写java代码
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语言函数计算出的结果
我们是怎么调用android sdk里的库的,android的API有哪些?怎么分类?
android的API都有哪些,怎么分类?
参考技术A android sdk版本设置在2个地方 1. 文件project.properties t中arget=android-102. 文件AndroidManifest.xml中<uses-sdk android:minSdkVersion="10"></uses-sdk>
android 的API : http://developer.android.com/reference/java/io/DataInput.html
以上是关于Xamarin 怎么调用java的 so文件的主要内容,如果未能解决你的问题,请参考以下文章