王学岗NDK环境的搭建

来源:互联网 发布:魔方拼图软件 编辑:程序博客网 时间:2024/06/10 22:29
1、NDK介绍        1.1 什么是NDK?Native Development Kit(本地开发工具包)            通俗一点:NDK中提供了一系列的工具,帮助我们快速开发C/C++的动态库,并能自动将so 和java 应用一起打包成apk            说白了就是Java代码调用C/C++代码        1.2 什么是JNI?Java Native Interface(Java本地化接口)            Java调用C/C++的一套编码规范            NDK基于JNI        1.3 为什么使用NDK?            第一点:安全(代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大)            第二点:硬件和性能(图像处理)            第三点:便于移植            第四点:借助了第三方C/C++优秀开源库

2.2.1 Eclipse工具开发NDK
第一步:准备NDK开发包
第二步:安装cygwin
第三步:配置NDK环境变量
注:进入cygwin安装目录进行配置
打开C:\cygwin\etc\profile
第四步:创建项目
第五步:定义本地方法
第六步:在工程根目录下新建jni目录,添加c/c++文件
第七步:通过cygwin进入项目所在目录进行编译
第八步:测试运行
下面详细讲解各个步骤
第六步:创建jni目录
创建jni文件
这里写图片描述
创建名字为Gang.c的文件
这里写图片描述
这里写图片描述
android studio 环境下搭建NDK
1,新建工程
2,配置NDK的路径
file—>project—->Structure
这里写图片描述
3,编译生成.class文件
点击build–make project
这里写图片描述
这样项目中会生成build文件,如下图所示,注意这里有两个build文件这里写图片描述
找到class(如果你clean工程,该文件会消失,需要重新make project)文件
这里写图片描述
4:定义本地方法
这里写图片描述
这个时候会报这样错误,暂时不用担心

Cannot resolve corresponding JNI function Java_com_example_acer_ndktest_MainActivity_getText Reports native method declarations in Java where no corresponding JNI function is found in the project

5,生成jni目录和.h头文件(此处通过命令行生成)
我们要进入android studio 的Terminal控制台(模拟了Linux环境),不需要通过cygwin
通过命令进入app/src/main/java编译需要的文件
这里写图片描述
输入下图所示的命令,注意 ../的意思是返回上一级目录,我们在main文件夹下创建jni文件夹同时编译MainActivity类
这里写图片描述
我们看下现在的目录结构
这里写图片描述
6配置build.gradle文件
这里写图片描述
7、指定NDK路径(一般情况下都是工具自动配置),在local.properties文件下配置
这里写图片描述
8、配置NDK支持低版本(不配置编译不通过)
在gradle.properties中配置
这里写图片描述
9,实现头文件(相当于定义了一个头文件,需要实现)

0 0