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
分享到:
相关推荐
META-INF/MANIFEST.MF com.ice.jni.registry.HexNumberFormat.class com.ice.jni.registry.NoSuchKeyException.class com.ice.jni.registry.NoSuchValueException.class com.ice.jni.registry.RegBinaryValue.class ...
android jni详细介绍,包括如下文档: android_jni_javah_使用方法.doc android_jni操作指南.pdf Android技术之JNI和HAL.pdf ...由浅入深,让你了解JNI如何在android里使用,也可以顺便了解一下android hal机制.
Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息...... Chap 4:用javah产生一个.h文件......Chap5:jni教程(very very good)...3. 在native方法中使用用户定义的类... 157 4. 异常处理... 158
此外,在执行Java类的过程中,如果Java类需要与C组件沟通时,VM就会去载入C组件,然后让Java的函数顺利地调用到C组件的函数。此时,VM扮演着桥梁的角色,让Java与C组件能通过标准的JNI介面而相互沟通。 应用层的...
JNI的两个头文件jni.h和jni_md.h,提供需要的人下载!!!!!
jni.h文件jni.h文件jni.h文件jni.h文件jni.h文件jni.h文件
com.ice.jni.registry.RegMultiStringValue.class com.ice.jni.registry.RegBinaryValue.class com.ice.jni.registry.RegistryException.class com.ice.jni.registry.NoSuchValueException.class ...
基于最新版本的gmssl,实现了java通过jni调用gmssl,可使用国密sm2算法、sm3算法和sm4算法,包括jni的动态库和java调用示例
System.loadLibrary("HelloWorld"); } private native void print(); public static void main(String args[]) { new HelloWorld().print(); } } 2.HelloWorld.cpp目录下打开终端,输入命令: javac ...
android-aes-jni, 用于 jni& Java的Android AES示例 android-aes-jni git clone https://github.com/panxw/android-aes-jni.git cd android-aes-jni ndk-build
类似iBooks的3D仿真翻页效果: 1.基于OpenGL 2.0 2.纯Java实现(JNI正在开发中) 3.基于
最新java操作注册表的com.ice.jni.registry依赖压缩包
world 文档,描述了Android g1环境,C、Java、JNI调用(C调Java、Java调C)基本运算、方法调用、字符串连接的效率测试结果。
基于java的开发源码-JNI代码生成器 JNIGen.zip 基于java的开发源码-JNI代码生成器 JNIGen.zip 基于java的开发源码-JNI代码生成器 JNIGen.zip 基于java的开发源码-JNI代码生成器 JNIGen.zip 基于java的开发源码-JNI...
Android jni基础知识, # This is a test examlpe foe android jni 1、实现一个android工程,在其Android.mk文件中不要定义jni相关的东西,代码中可以尽情的使用 2、使用mmm 命令编译该工程,能够编译成功的。...
Java本地接口(JNI)编程指南和规范.pdf
学习JNI编译时,缺少的jni.h和jni_md.h头文件,Java调用C和C++函数时的JNI使用区别: 注意:jni.h头文件中对于***.c & ***.cpp采用不同的定义
JNI基本知识共3页.pdf.zip
学习JNI编译时,缺少的jni.h和jni_md.h头文件
Jnidemo-master.3.17.final.ok(20200813.final.ok).zip