本文主要是介绍android studio 配置NDK环境进行JNI开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
刚好在移植ArlinkPlayer工程到地面软件中需要用到一些NDK、JNI进行开发,就研究了一点入门基础,,纠结了好几天的问题,终于在昨天晚上解决了分享一下技术成果,整理如下:
一、NDK基础:
NDK全称:Native Development Kit(原生开发工具集),因为java并不是完美的,其不足体现在运行速度要比传统的c/c++慢许多,且无法直接访问操作系统底层,为此,java同过navtive方法来扩展java程序的功能(可以将native方法比作java同c的接口方法)而ndk就是提供了一系列的工具来完成java程序中嵌入c/c++代码的。
这个过程如下(以下过程就叫JNI: java native interface (java本地调用)):
java源码中声明native方法
用javah生成.h文件
编写对应的.cpp文件来实现native定义的方法
将对应的.cpp文件编译成动态连接库
java中用System.LoadLibrary来载入动态链接库,这样就可以访问用c/c++实现的native方法了
而NDK就是提供了一系列的工具,帮助开发者快速开发c/c++的动态库,并能自动将so和java应用一起打包成apk,其集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。
二、NDK坏境搭建:
(1)下载安装NDK-r8c。
下载地址:http://developer.android.com/sdk/ndk/index.html
(2)指定ndk目录
这篇关于android studio 配置NDK环境进行JNI开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!