Java基础知识JNI 在Android中使用System.loadLibrary()

来源:互联网 发布:淘宝绣花针 编辑:程序博客网 时间:2024/06/07 04:58

如果android应用程序想要访问以上硬件时,就要使用java的JNI技术


1、JNI的全称为:Java Native Interface,java本地接口,设计目的是与C/C++实现本地交互,在java办不到的或者使用方便的代码段调用。

2、JNI的编写步骤

a、编写带有native声明的方法的java类

b、使用javac命令编译a中实现的类

c、javah -jni java类名生成扩展名为h的头文件

d、使用C/C++实现本地方法

e、将d中的本地方法生成动态链接库

f、OK


1、编写java程序

class HelloWorld{
public native void displayHelloWorld();
static{
System.loadLibrary("hello");
}
public static void main(String[] args){
new HelloWorld().displayHelloWorld();
}
}

javac hello.java

然后javah命令

javah -jni HelloWorld

生成.h头文件为

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */


#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     HelloWorld
 * Method:    displayHelloWorld
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
  (JNIEnv *, jobject);


#ifdef __cplusplus
}
#endif
#endif

0 0
原创粉丝点击