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目录下就能用了。
- Android studio 中NDK的配置和JNI实现的完整过程SerialPort android串口
- android studio 串口通信JNI、NDK配置
- Android Studio jni的开发与ndk的配置
- Android Studio的配置ndk,jni的三种方法
- Android中JNI和NDK的使用
- Android studio jni Ndk 配置
- Android Studio NDK JNI 配置
- Android Studio JNI开发的环境配置 NDK
- Android Studio的gradle下配置ndk,jni
- Android Studio NDK环境配置与JNI简单的例子
- android-studio下ndk的配置和简单JNI调用遇到的问题
- Android Studio中NDK的配置
- android studio中ndk的配置
- android studio中ndk的配置
- Android Studio JNI的配置与实现
- android studio JNI/NDK的简单使用
- ndk-build配置、Android Studio jni的配置以及jni常见问题的解决
- Android Studio Ndk的配置
- JavaScript(上)-课堂笔记
- php中引用&的真正理解-变量引用、函数引用、对象引用
- Python3:《机器学习实战》之支持向量机(3)完整版SMO
- Linux系统文件权限
- 启程
- Android studio 中NDK的配置和JNI实现的完整过程SerialPort android串口
- Qt 实现进程间窗口嵌套(一)
- Java工具之javac---javadoc--javah--jar
- 简单搭建一个Mybatis
- JavaScript(下)-课堂笔记
- 新浪网页爬虫
- 试说明PCB(进程控制块) 的作用,为什么说PCB 是进程存在的惟一标志?
- 牛客网--用两个栈实现队列
- 《零基础入门深度学习》系列文章(教程+代码)