android jnilib放在哪个目录下,Android中的JNI使用指南一

  • Post author:
  • Post category:其他


一、简介

JNI全称是Java Native Interface(Java本地接口)单词首字母的缩写,本地接口就是指用C和C++开发的接口。由于JNI是JVM规范中的一部份,因此可以将我们写的JNI程序在任何实现了JNI规范的Java虚拟机中运行。同时,这个特性使我们可以复用以前用C/C++写的大量代码。

开发JNI程序会受到系统环境的限制,因为用C/C++语言写出来的代码或模块,编译过程当中要依赖当前操作系统环境所提供的一些库函数,并和本地库链接在一起。而且编译后生成的二进制代码只能在本地操作系统环境下运行,因为不同的操作系统环境,有自己的本地库和CPU指令集,而且各个平台对标准C/C++的规范和标准库函数实现方式也有所区别。这就造成使用了JNI接口的JAVA程序,不再像以前那样自由的跨平台。如果要实现跨平台,就必须将本地代码在不同的操作系统平台下编译出相应的动态库。

JNI开发流程主要分为以下5步:

1、创建一个类(HelloJNI.java)声明本地方法

2、将Javac编译源文件HelloJNI.java,生成HelloJNI.class。

3、用javah -jni命令生成HelloJNI.h头文件(javah是jdk自带的一个命令,-jni参数表示将class中用native声明的函数生成jni规则的函数)

4、用本地代码实现HelloJNI.h头文件中的函数

5、将本地代码编译成动态库(windows:*.dll,linux/unix:*.so,mac os x:*.jnilib)