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



更多相关文章

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

随机推荐

  1. android 游戏 实战打飞机游戏 怪物(敌机)
  2. Android(安卓)属性动画 源码解析 深入了
  3. android开发大作业开发记录(关于制作圆角
  4. java虚拟机理解
  5. Android(安卓)App 内存泄露之Handler
  6. Android(安卓)简单记事本
  7. Android(安卓)架构师之路20 响应式编程Rx
  8. Android(安卓)显示Intent和隐式Intent
  9. Android(安卓)设置wifi连接应用开发
  10. Android紧急号码列表修改