Android studio 中NDK的配置和JNI实现的完整过程SerialPort android串口

来源:互联网 发布:网络名字大全女孩霸气 编辑:程序博客网 时间:2024/05/22 04:37

之前用eclispse的时候写过一篇关于ndk配置和Jni实现的博客,由于现在大部分都使用android studio了,刚好接到android 串口的一个需求。就整体实现了一遍,希望整个过程写出来可以给大家一点帮助。
1.首先创建一个android工程,这个就不详细解释了。
2.在android中配置NDK
(1)首先下载NDK,我没有用sdk直接下载,而是另外下载的android-ndk-r9d
这里写图片描述
(2)在androidstudio中设置,file–>product structor
这里写图片描述
3.在src–>java包中导入serialPort的java文件,在同级目录下建立jni目录,导入serialPort.c文件,如图
这里写图片描述
4.配置各种ndk的路径,如下:
打开Project的local.properties文件添加NDK路径,系统一般在第二步的时候自动生成。
在gradle.properties添加android.useDeprecatedNdk=true
在app路径的build.gradle 的defaultconfig中添加
这里写图片描述
5.生成类文件,点击bulid–>make project即可生成。在如图的路径下
这里写图片描述

6.然后生成.h文件,打开android studio下的终端terminal命令行:
输入命令为:javah -d jni -classpath C:\Users\huchang\AppData\Local\Android\sdk\platforms\android-19\android.jar;
E:\androidDevelop\MConcentrator\app\build\intermediates\classes\debug com.system.mconcentrator.mconcentrator.serialport.SerialPort
一个是我android jar包的路径,一个是我的串口类的路径。串口类为SerialPort.class
如图:
这里写图片描述
6.生成.so动态库
(1).在jni目录下,新建Android.mk文件,编写代码如下:
这里写图片描述
(2)在工程根目录下新建application.make文件,写入以下内容:
APP_PROJECT_PATH := $(call my-dir)
APP_MODULES := nativeTest

3,在命令行下,cd到jni目录(就是之前javah -d jni生成的那个文件夹)下,输入指令: ndk-build,等一会即可生成.so文件。位于lib目录下,将其放到app/src/main/jniLibs目录下就能用了。
备注:其实第三步也可以不用,只要前面的配置好,直接rebuild工程,系统会自动生成如下文件,将其放到app/src/main/jniLibs目录下就能用了。
这里写图片描述