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