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
更多相关文章
- android 程序的签名
- Android(安卓)Studio 单元测试入门
- 如何编写高效的Android代码
- Android官方文档—APP组件(Services)(AIDL)
- Android(安卓)Studio生成签名文件,自动签名,以及获取SHA1和MD5值
- NDK r21b 编译FFmpeg 、x264 提供Android集成
- Android及Java使用google.zxing生成和解码(解析)二维码(QRCode)
- android学习笔记5--------------业务bean(单元测试) .
- Android之异步任务AsyncTask解析Json数据