NDK 开发
来源:互联网 发布:淘宝网商贷影响个人 编辑:程序博客网 时间:2024/05/17 10:26
基于 AS 的 NDK 开发
1. NDK 和 JNI 的概念
JNI 的全称是 Java native interface,Java 本地接口,实现 Java 和 C/C++ 的互相调用
NDK 的全称是 Native development kit 本地开发工具集,方便JNI的开发
2. 使用 JNI 的好处
1. 实现 C/C++ 代码的复用:因为 C/C++ 出现的比Java早
2. C/C++ 的执行效率比Java快,性能较好
3. 。。。
3.NDK 开发流程
传统的ndk-build流程
①下载安装NDK开发包
勾选 Android NDK 然后点击 ok 下载,文件夹就是下图的 ndk-bundle,这种在 AS 里下载不用翻墙,下面提供一个链接,NDK开发官网[注意 需要翻墙才能进 ],里面也可以进行NDK 压缩包下载,一般也是解压到 Android SDK 下②.ndk-bundle路径添加到环境变量 path
③.创建 project,在 local.properties 中添加 ndk-bundle文件夹路径(一般不需要自己去添加)在 gradle.properties 文件最后中添加
#兼容老的ndk
android.useDeprecatedNdk=true④.在 main/java/包名 目录下创建调用 native方法的类 JNI
命令行进入到 java 目录下,使用命令: javah 全包名/JNI,会在 java 目录下生成头文件。生成头文件还有其他方法,可参考给的参考链接⑤.在 main 目录下创建一个 jni 目录,把 4 中生成的头文件移动到这个目录中,并在此目录下创建 C/C++ 源文件
⑥.在 app 下的 build.gradle中配置如下
然后 Builde-> Rebuild project,生成一个 so 文件
⑦.在步骤 4 中创建的 JNI 类中加载 so 库
⑧.调用native方法
使用CMake外部构建
①与传统方法比较,需要在 sdk tools 中勾选 CMake 下载,网上说只支持 AS 2.2 以上的版本,而且如果是32位系统可能在 SDK tools 下找不到 CMake,这时可以去找一个 CMake文件放到自己的SDK目录下。具体的区别可以创建AS自带的demo查看,如下图去创建
然后一直 next 至 finish。
具体可参考它:
CMakeList.txt文件的说明
JNI知识
std::string用法总结
- NDK开发-初识NDK
- NDK开发
- NDK开发
- NDK开发
- NDK开发
- NDK开发
- NDK 开发
- NDK开发
- NDK开发
- NDK开发
- NDK 开发
- ndk开发
- Ndk开发
- ndk开发
- ndk 开发
- Android NDK开发配置NDK
- NDK开发指南---NDK使用方法
- Android NDK : NDK开发概要
- redis命令详解与使用场景举例——Script(脚本)
- android自定义 圆角Imageview
- SCU4444-Travel
- IE6、IE7、IE8之IE多版本共存的几种方法
- 分组交换中的延迟问题
- NDK 开发
- 中断处理函数的注意事项
- 文本界面的输入输出
- LeetCode 343. Integer Break
- 链接、装载与库——目标文件(3)
- 毕业设计那点事 — 源码安装PHP7
- 使用Vue开发网站之路2-多组件通信1(利用bus总线进行事件触发)
- 3、JAVA软件及工具下载--后续更新
- ACM解题的取巧的小办法