【mqttnet 源码】【星座运势系统源码】【mud游戏源码出售】android 源码include

时间:2024-12-28 22:26:04 来源:九仙劫源码 分类:探索

1.android 如何Java code 得到 Include 对象

android 源码include

android 如何Java code 得到 Include 对象

       include不是一个对象,它只是一条预处理指令,通过这指令你就可以使用C/C++函数库中的函数。如:

       <!--#include “头文件名”-->

       java要调用C/C++的函数库中的函数的话,可以通过JNI(java本地接口)来实现。

       ä»‹ç»ä¸€ä¸‹ç®€å•çš„流程:

       1、首先在java中申明一个本地的方法(Native修饰),不要去实现这个方法。

       2、接着通过javah命令编译这个java文件,生成一个扩展名为.h的头文件,在这个头文件中编译器会自动为你申明一个跟你在java中申明的本地方法相对应的一个函数。

       3、然后创建一个.c或者.cpp的文件,在里面实现第三步生成的那个函数,在这个文件中需要将第三步的那个头文件include进来。

       4、再使用gcc(在linux下)或者其他方法将你实现的本地代码生成动态链接库也叫做共享库。以前做windows开发的人都知道动态链接库.dll,但是android是基于linux,在linux有一扩展名为.so的文件,它其实跟在windows中的dll库文件差不多,这一步就是生成.so文件。

       5、你需要在你的java程序中加载这个库文件(.so文件),比如:

       System.load(你的库文件路径);

       ä½ å°±å¯ä»¥åœ¨ä½ çš„程序其他地方调用在第一步申明的那个本地方法了。

       6、最后就是运行java程序。

       ä¸¾ä¸ªåœ¨java中的代码的例子:

       public class MyJNI{

       static {

       try{

       System.load("/home/Jni/test.so");//也可以使用loadLibrary方法,区别的话你可以去百度一下

       }catch(UnsatisfiedLinkError e){ Log.e("JNI",mqttnet 源码e.toString());}//抛出找不到对应的本地语言定义的异常

       }

       public static native String method_name(int params);//申明本地方法,这些参数返回值都是根据自己需要定义的

       public String usingNativeMethod(int x){

       method_name(x); //跟普通成员函数一样调用

       }

       }

       è¯¦ç»†çš„如何使用JNI可以参考一些专业的博客。