`

NDK环境搭建和使用

 
阅读更多

1、说明:

a)搭载androidNDK环境需要在eclipse下配置androidSDK、ADT等

b)具体参照博客:http://www.metsky.com/archives/523.html

2、搭载androidNDK环境

a)下载androidNDK

i.地址:http://developer.android.com/tools/sdk/ndk/index.html

ii.选择windows版的

b)解压到工作目录,如G:\qjc\soft\android-ndk-r8b-windows\android-ndk-r8b:

c)AndroidNDK包含build、docs、samples、sources、GNUmakefile、ndk-build、ndk-gdb及readme等内容,samples下面包含几个实例开发演示项目,可以参照这些示例进行开发

3、下载Cygwin

a)由于NDK开发大都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要模拟Linux模拟编译环境,那么就需要下载Cygwin来在windows环境下模拟Linux环境

b)下载地址:http://www.cygwin.com/,点击setup.exe:




c)下载的是一个setup.exe安装文件,具体使用过程如下:

i.运行setup程序,第一步图略,直接点击Next进入下一步

ii.选择安装方式,第一次可以采用DirectConnection在线下载安装,如有现成的离线包,可以选择离线安装(InstallfromLocalDirectory)

iii.选择安装目录,比如C:\Cygwin,(注:此目录是指Cygwin最终的安装目录,不是下载文件暂存目录)

iv.设置本地包暂存路径,比如:

F:\soft\Cygwin\

v.设置网络连接方式

vi.选择下载站点地址(注:起初尝试几个看哪个速度快就用哪个地址,如果感觉不是很快可以取消,再重选一个)

vii.等待加载安装项载入,选择安装项

注:我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将 后面的Default改为Install,图中箭头所示),其它均为默认状态

viii.等待下载完成

注:下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文 默认的选择方式,可能需要4-5个小时,下载后大概968M,下载完成后会自 动安装到上文设置的安装目录

提醒:第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环 境可以直接使用离线安装方式(第二步中选择本地安装)。

4、验证Cygwin环境

a)安装完成后运行Cygwin.bat一次(在C:\cygwin下),以便创建一些用户环境文件

b)输入make-v和gcc-v

c)如果检测成功,会有make和gcc相关版本信息打印出来,如下图:

5、配置NDK的路径

a)在windows安装目录中修改home\<你的用户名>\.bash_profile文件(如:C:\cygwin\home\Administrator)中最后添加环境变量

NDK=/cygdrive/g/qjc/soft/android-ndk-r8b-windows/android-ndk-r8b

exportNDK

其中:NDK=/cygdrive/<你的androidNDK存放的盘的盘符>/<androidndk目录>,"NDK"这个名字随便起,以后经常用不要太长

b)重启cygwin,输入cd$NDK,可以进行NDK相应的目录说明配置正确

6、编译示例程序

a)在cygwin命令行下,依次输入cd$NDKcdsamplescdhello-jni

b)运行,输入$NDK/ndk-build

注:该命令$NDK和/ndk-build是连接到一起的,中间没有空格,实际使用时是打入完整的$NDK/ndk-build,不要只打ndk-build

c)正常编译完成后会在你的项目libs/armeabi目录下生成对应的.so文件

7、测试hello-jni

a)在Eclipse中导入hello-jni工程

b)路径:G:\qjc\soft\android-ndk-r8b-windows\android-ndk-r8b\samples\hellp-jni

c)运行,runas->androidapplication,结果如下图:

8、Hello-jni分析

a)打开jni文件夹中的hello-jni.cpp,有这么一句:

return(*env)->NewStringUTF(env,"HellofromJNI!");

实际上我们上面android模拟器TextVIew显示的就是这句话的返回结果

b)现在我们对程序进行修改

将return(*env)->NewStringUTF(env,"HellofromJNI!");改为

return(*env)->NewStringUTF(env,"HellofromJNIandIchangeit!");

运行结果:

c)按道理应该显示的是HellofromJNIandIchangeit!

i.原因:修改了之后没有编译,所以要再次执行第6步

ii.执行了第6步之后再看运行结果:

d)每次修改了之后都要手动进行编译,这样比较麻烦,下面介绍一种简单的方法(增加一个C-Builer):

i.右击项目选择properties,出现下面对话框:

ii.在左边选择Builders,在右边点击New这个按钮,出现

iii.选择Program,点击OK,出现配置编译器对话框:

iv.name改为C_Builder

v.设置Location:<你cygwin安装路径>\bin\bash.exe,如:C:\cygwin\bin\bash.exe

vi.设置Arguments:

--login@-c@"cd@/cygdrive/g/qjc/soft/android-ndk-r8b-windows/android-ndk-r8b/samples/hello-jni@&&@$NDK/ndk-build"(这是我的目录,自己的需要适当修改,不能改动的,--login–c是神马意思我也不懂,为了方便表示,上面字符串中的4个@其实是空格,输入的时候请换为空格)

Arguments这串参数实际是给bash.exe命令行程序传参数,进入要编译的程序目录,然后运行ndk-build编译程序

vii.接着切换到Refresh选项卡,给Refreshresourcesuponcompletion打上钩

viii.然后切换到BuildOptions选项卡,勾选上最后三项

ix.之后点击SpecifyResources按钮,选择资源目录,勾选你的项目目录即可

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

e)再次测试

再次改return(*env)->NewStringUTF(env,"hello");

运行结果:

分享到:
评论

相关推荐

    android NDK环境搭建

    手把手教你怎么在windows下搭建android NDK环境

    androidNDK环境搭建

    NDK环境搭建 PDF c++ android

    ubuntu下android ndk编译环境搭建详细描述

    在Ubuntu系统上搭建Android NDK编译环境是Android原生代码开发的重要步骤,适用于那些需要进行C/C++底层开发或优化的应用程序。Android NDK(Native Development Kit)是一套工具,允许开发者使用C/C++编写部分应用...

    eclipse jni,ndk环境搭建测试程序

    搭建Eclipse JNI和NDK环境涉及以下步骤: 1. **安装Java SDK**:首先确保你的机器上已经安装了Java Development Kit (JDK),因为Eclipse和Android开发都依赖于它。 2. **下载Eclipse**:获取Eclipse IDE for Java ...

    Android_NDK环境搭建

    ### Android NDK环境搭建知识点详解 #### 一、概述 Android NDK (Native Development Kit) 是一套用于在Android上开发原生应用或者扩展应用性能的工具集。它提供了执行原生代码(C/C++)的能力,并提供了将这些代码与...

    安卓NDK环境搭建

    安卓NDK环境搭建 安卓NDK环境搭建是Android应用开发中不可或缺的一部分。NDK提供了一个基于C/C++语言的开发环境,允许开发者使用native代码来开发Android应用。下面是安卓NDK环境搭建的详细指南。 一、安装Eclipse...

    ndk 环境搭建 代码 +教程 详细教程,加上源代码

    纠正各论坛ndk环境搭建的错误,一步一步教你ndk环境搭建并附有与教程配套的源码

    Android NDK环境配置

    Android NDK环境配置是Android应用开发中的一个重要环节,它允许开发者使用C或C++编写高性能的原生代码,这些代码可以被编译成动态库并与Java应用一同打包成APK。NDK集成了交叉编译器,使得开发者能够针对不同的CPU...

    cygwin安装程序+ndk环境搭建以及opengl在ndk环境中的使用说明

    二、NDK环境搭建 1. 下载NDK:首先,访问Android开发者官网,下载适合你系统的NDK版本。NDK通常提供zip格式的下载,解压到你希望存放的目录。 2. 配置环境变量:将NDK的路径添加到系统的PATH环境变量中,这样可以...

    androidndk环境搭建和入门教程

    本教程将指导你如何搭建Android NDK环境,并通过简单的入门实例开始你的NDK开发之旅。 首先,我们来看“Android NDK开发环境搭建”。在Windows系统上,你需要下载适合你操作系统的NDK版本,通常可以从Android开发者...

    基于Android底层NDK开发OpenCV环境搭建

    如果一切顺利,你现在就已经成功地在Android Studio中搭建了NDK环境,并配置好OpenCV库,可以开始进行基于C++的OpenCV开发了。 在实际开发中,你可以编写C++代码实现图像处理功能,然后通过JNI(Java Native ...

    Android NDK环境搭建及遇到的问题详解

    Android NDK环境搭建及遇到的问题详解,我就是看它搭建JNI开发环境的。

    NDK环境搭建和gui混淆.zip_android ndk_ndk jar_混淆

    在Android开发中,NDK...在文档"NDK环境搭建和gui混淆.docx"中,你可能会找到更详细的步骤和技巧,包括具体配置示例、错误排查以及更多关于GUI混淆的实践指导。阅读这份文档将有助于你深入理解和掌握这些知识点。

    cygwin+NDK环境搭建

    在搭建Android开发环境时,开发者可能会利用Cygwin来创建和管理C++项目,因为它提供了Unix-like的开发环境。安装Cygwin时,可以选择需要的开发工具包,包括编译器和相关的库。接着,安装Android NDK,这通常涉及到...

    ndk开发环境搭建

    ndk开发环境搭建

Global site tag (gtag.js) - Google Analytics