Android NDK开发入门实例

本文介绍了Android NDK开发的基础知识,包括NDK的定义、功能和作用。通过一个简单的实例,详细讲解了在Windows环境下NDK的安装、环境变量配置以及在Eclipse中集成C/C++开发环境的步骤,最后通过验证Hello-JNI示例项目确保配置成功。
摘要由CSDN通过智能技术生成

Android NDK开发入门实例

        写这个,目的就是记录一下我自己的NDK是怎么入门的。便于以后查看,而不会忘了又用搜索引擎一顿乱搜。然后希望能够帮助刚学的人入门。先转一段别人说的话:

“NDK全称:Native Development Kit。

1、NDK是一系列工具的集合。

* NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。

* NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。

* NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。

2、NDK提供了一份稳定、功能有限的API头文件声明。

Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。”

在深入理解之前,暂且就把NDK当成是一种工具,这种工具使得JAVA能够使用C/C++编译出的so包。并将此包一起打入apk包中。

下面开始正式入门:

一、开发环境搭建(以Windows平台下为例,Linux平台下类似)

1.      下载NDK压缩包,google官网


2、NDK的安装

       第一步:选择install form Internet

       第二步:Root Directory,安装路径都知道吧

      第三步:LocalPackage Directory,这是你下载下来的NDK的存储路径,不用管

      第四步:选Direct Connection

      第五步:Chose a site from this list,or add your own sites to the list,我自己添加一个http://cygwin.mirror.constant,com选择这个网址下载

      第六步:Select Packages,选择安装包,直接选Devel,将其改成install就OK

NDK安装完毕。

3、配置NDK环境变量

在cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件末尾添加:

NDK=/cygdrive/f/cygwin/home/android-ndk-r9d
export NDK

注意路径和你自己的路径对应

4、测试NDK环境

输入cd $NDK,进入


这样NDK就配置好了。

进入NDK的sample


编译成功。

在eclipse中集成c/c 开发环境

1、 装Eclipse的C/C 环境插件:CDT,这里选择在线安装Eclipse。找到对应你Eclipse版本的CDT插件的在线安装地址。

2、 然后点Help菜单,找到Install New Software菜单

3、 点击Add按钮,把取的地址填进去,出来插件列表后,选Select All,然后选择下一步即可完成安装

4、 安装完成后,在eclispe中右击新建一个项目,如果出现了c/c 项目,则表明你的CDT插件安装成功啦!

配置C/C 的编译器

1、 打开eclipse,导入ndk自带的hello-jni例子,右键单击项目名称,点击Properties,弹出配置界面,之后再点击Builders,弹出项目的编译工具列表,之后点击New,新添加一个编译器,点击后出现添加界面,选择Program,点 击OK.

2、出现了添加界面,首先给编译配置起个名字,如:C_Builder
设置Location为<你cygwin安装路径>binbash.exe程序,例如:E:cygwinbinbash.exe,设置Working Directory为<你cygwin安装路径>bin目录,例如:E:cygwinbin
设置Arguments为
--login -c "cd /cygdrive/I/JavaWorkSpace/Blog/NDK_02 && $NDK/ndk-build"
1.png

上面的配置中 /cygdrive/I/JavaWorkSpace/Blog/NDK_02是你当前要编译的程序的目录,$NDK是之前配置 的ndk的环境变量,这两个根据你具体的安装目录进行配置,其他的不用变,Arguments这串参数实际是 给bash.exe命令行程序传参数,进入要编译的程序目录,然后运行ndk-build编译程序

3、接着切换到Refresh选项卡,给Refresh resources upon completion打上钩
2.png

4、然后切换到Build Options选项卡,勾选上最后三项
3.png

5、之后点击Specify Resources按钮,选择资源目录,勾选你的项目目录即可
4.png

6、 最后点击Finish,点击OK一路把刚才的配置都保存下来,注意:如果你配置的编译器在其它编译器下边,记得一定要点Up按钮,把它排到第一位,否则C代码的编译晚于Java代码的编译,会造成你的C代码要编译两次才能看到最新的修改

配置完成后,我们需要验证我们这么长时间辛苦的配置了,我们只需要编写相应的C代码与java端代码去验证即可,若偷懒可之间使用sample中的即可。

导入NDK的sample如果可以运行就说明CDT安装OK了,修改一下c文件,重新运行,主要目的是看修改后的文件能不能进行编译。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值