Xamarin 怎么调用java的 so文件

Xamarin 怎么调用java的 so文件,第1张

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语言函数计算出的结果

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档加入这个专案


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11411393.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存