`
emowuyi
  • 浏览: 1478340 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

tiny6410中的部分硬件(串口、led、pwm蜂鸣器、adc等) 友善做了一个硬件库friendlyarm-hardware.so

如果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



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics