- 浏览: 138681 次
- 性别:
文章分类
最新评论
本文主要是介绍一下android ndk环境搭建及基本编程思路。
本文测试环境为 Windows Xp3+Eclipse Indigo+jdk6.0+Android2.2+ADT1.6+android+ndk-r7b+Cygwin1.7
一、下载android ndk (以最新版本为准)
您可以下载android-ndk-r7b安装包,下载地址:
地址:http://developer.android.com/sdk/ndk/index.html
下载后解压缩到你的工作目录,例如:C:\Android\android-ndk-r7b,结果如下图:
Android ndk包含build、docs、samples、sources、GNUmakefile、ndk-build、ndk-gdb及readme等内容。
其中samples下面包含几个实例开发演示项目。
二、下载安装Cygwin
由于ndk开发大都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要模拟Linux模拟编译环境,下载地址:
http://www.cygwin.com/
下载后是个setup.exe文件,使用过程如下:
第一步:运行setup程序,第一步图略,直接点击Next进入下一步。
第二步:选择安装方式,第一次可以采用Install from Internet在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)
第三步:选择安装目录,比如C:\Android\cygwin,注意此目录是指Cygwin最终的安装目录,不是下载文件暂存目录。
第四步:设置本地包暂存路径
暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f这样格式。
第五步:设置网络连接方式,默认即可。
第六步:选择下载站点地址
可以尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。
第七步:等待加载安装项载入,选择安装项
编译ndk,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中红色方框所示),其它均为默认状态。
第八步:等待下载并安装
下载完成后会自动安装到上文设置的安装目录。
第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。
三、验证Cygwin环境
安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:
make -v 和gcc -v
如果安装成功,会有make和gcc相关版本信息打印出来,如下图。
四、配置ndk路径设置
可以在cygwin中通过vim修改,也可以在windows安装目录中修改 home\<你的用户名>\.bash_profile 文件中最后添加环境变量
ndk=/cygdrive/c/Android/android-ndk-r7b
export ndk
其中ndk=/cygdrive/<你的盘符>/<android ndk 目录> ,"ndk"这个名字随便起,以后经常用不要太长。
重启cygwin,输入:
cd $ndk
可进入ndk对应目录说明设置正常。
五、编译演示工程
现在就可以编译相关ndk工程了(一些用c/c++写的程序),编译方法如下:
1、在cygwin命令行下,进入android项目工作目录:
cd $ndk
2、依次进入samples\hello-jni目录,(完整路径示例: C:\Android\android-ndk-r7b\samples\hello-jni)
3、运行
$ndk/ndk-build
注意:该命令$ndk和/ndk-build是连接到一起的,中间没有空格,实际使用时是打入完整的$ndk/ndk-build,不要只打ndk-build。
4、正常编译完成后会在你的项目libs/armeabi目录下生成对应的 libhello-jni.so文件。
六、导入静态目标库到Android项目
编译完成后会得到*.so静态目标库后,就可以导入工程环境Eclipse Android项目中使用,本步骤演示属于ndk目标库+Andriod APK样式,
此外还有Android源码直接开发、直接编译方式。使用方法如下(示例):
1、在Eclipse中新建一个工程HelloJni,HelloJni.java中的代码可参考ndk对应samples下的演示代码调用方法。
或者直接将samples中的hello-jni导入到Eclipse中。
2、将ndk编译项目目录下的jni和libs文件夹拷贝到新建工程目录下,这两个文件夹要和工程中的src和res文件在同一目录下。
3、运行Eclipse项目,就可以在虚拟机上看到hello-jni.c函数中输出字符串。
发表评论
-
Android onTouchEvent, onClick及onLongClick的调用机制
2012-03-08 15:44 895针对屏幕上的一个View控件,Android如何区分应当触发o ... -
android 常用颜色表
2012-03-09 16:01 922<?xml version="1.0" ... -
windows下eclipse android-ndkr7b环境配置
2012-03-31 19:49 929注意:android-ndkr7b版本中已经集成了cyg ... -
配置 eclipse ndk 环境遇到的问题
2012-04-01 08:52 1055困惑了两天的环境配置问题,按照网上提供的方法去做总是错误 ... -
Android 配置 OpenCV2.3.1
2012-04-01 17:56 2054OpenCV2.3.1-android中大部分重要的AP ... -
Android中dip与px之间单位转换
2012-04-11 16:10 731/** * 根据手机的分辨率从dip 的单位转成为px(像素 ... -
Android 自定义像素AVD模拟器无键盘
2012-04-18 14:26 3397在Android自定义像素(如:800X480)时,AV ... -
在Android虚拟机AVD中安装APK
2012-04-18 15:13 2711为了方便测试,有时候会需要在自定义的Android虚拟机A ... -
Android SurfaceView onDraw()绘图问题
2012-06-29 11:32 10060在继承SurfaceView的类中即使重写了onDraw ... -
Android 自定义渐变背景
2012-07-04 08:36 1357在Eclipse的Android工程的res下建立dra ... -
Android 隐藏系统状态栏和标题栏
2012-07-04 09:06 1263Android中若想 隐藏系统状态栏和标题栏(全屏显示)的 ... -
Android双SurfaceView实现底部拍照,顶部绘图
2012-07-04 10:36 1543当SurfaceHolder对象的类型设置为Surf ... -
Android数据的四种存储方式之SharedPreferences、SQLite、ContentProvider和File
2012-07-06 15:32 2846Android系统一共提供了四种数据存储方式,分别 ... -
Android SQLite存取图像
2012-07-06 18:36 948Android SQLite存取图像的简单方法如下: ... -
Android 继承SQLiteOpenHelper自定义DBHelper存取数据与图像
2012-07-10 15:07 1419Android 继承SQLiteOpenHelper自定 ... -
Android使用SQLiteDatabase直接存取数据与图像
2012-07-10 15:15 1097Android使用SQLiteDatabase直接存取数 ... -
Android 系统菜单与自定义菜单
2012-07-25 16:28 2298Android 系统菜单与自 ...
相关推荐
“Android NDK(r5b)环境搭建及JNI实现.docx”可能提供了关于早期NDK版本的详细步骤,虽然版本不同,但基本流程是一致的。NDK版本的更新主要关注性能优化和新功能引入,但核心概念并未改变。 “Android NDK开发环境...
本篇文章将详细阐述Android NDK环境搭建的过程及注意事项,同时提供一份宝贵的资源——"setup.exe",这可能是用于安装NDK的执行文件。 首先,我们了解下NDK的基本概念。NDK是一套工具集,包含了编译器、链接器和...
Android NDK环境搭建是Android应用开发中的一个重要环节,它允许开发者使用C++或者其他的本地语言进行性能敏感部分的编程,从而提升应用的运行效率。本文将详细阐述如何配置和使用Android NDK。 首先,理解NDK是...
本书顺应Android软/硬件、云计算整合潮流,详细剖析了NDK开发中涉及的各类问题和解决方案:搭建Android NDK开发环境的每一步细节,开发第一个Android NDK程序,Android NDK中Java与C/C++代码的互相调用,Facade设计...
接着,“Android NDK(r5b)环境搭建及JNI实现.docx”文件着重于JNI(Java Native Interface)的使用,这是Android应用与NDK之间通信的关键桥梁。JNI允许Java代码调用C/C++函数,反之亦然。开发者需要理解JNI的接口...
在【Windows】环境下搭建Android NDK开发环境,主要步骤包括: 1. **下载Android NDK**:首先,你需要从官方网址下载适合Windows系统的NDK安装包,例如NDK r7c。下载后将其解压到你的工作目录,例如`F:\Android NDK...
《在Ubuntu 18.04上使用QT5.13构建基于Android NDK r19c的开发环境》 Android Native Development Kit (NDK) 是Google提供的一款工具集,用于在Android平台上进行原生代码(如C/C++)的开发。NDK r19c是其中的一个...
1. **NDK环境搭建**:如何安装和配置NDK,设置Android Studio的CMake或ndk-build构建系统,以便于编译和调试原生代码。 2. **JNI(Java Native Interface)**:讲解JNI的基础知识,如何在Java代码中调用C++函数,...
### Android NDK编程入门知识点详解 #### 一、Android NDK简介及应用场景 **知识点1:** **Android NDK(Native Development Kit)**是Google提供的一套工具集,允许开发者使用C或C++语言为Android平台开发原生...
OpenCV(Open Source Computer Vision Library),作为一款开源的计算机视觉库,提供了丰富的图像处理功能,如图像滤波、特征检测、对象识别等,而Android NDK则允许开发者在Android平台上使用C或C++语言进行编程,...
对于64位Windows用户来说,"android-ndk-r20b-windows-x86_64.zip"是一个关键资源,它意味着可以直接在Windows环境中搭建本地开发环境,无需担心系统架构问题。解压后的文件包括了所有必要的工具和库,如编译器、...
在搭建Android开发环境时,开发者可能会利用Cygwin来创建和管理C++项目,因为它提供了Unix-like的开发环境。安装Cygwin时,可以选择需要的开发工具包,包括编译器和相关的库。接着,安装Android NDK,这通常涉及到...
在Android开发中,有时我们需要在原生的C/C++环境中进行高性能计算或图形处理,这时就需要用到NDK(Native Development Kit)。本教程将详细讲解如何安装Cygwin,搭建NDK环境,并介绍如何在NDK环境下使用OpenGL进行...
这篇教程将详细介绍如何在Android Studio中搭建NDK开发环境,以便进行高效的原生代码编程。 一、NDK简介 NDK的主要功能是为Android应用提供本地代码支持,它包含了编译器、链接器和其他工具,用于构建和运行原生...
1. **混合编程模型**:Android NDK支持混合编程,即在Java和原生代码之间切换,使得开发者可以利用Java的便利性和原生代码的高性能。 2. **性能提升**:对于需要高效运算或者利用硬件加速的场景,如游戏引擎、图像...
通过以上步骤,您已经在Windows环境下成功搭建了Android NDK开发环境,现在可以开始愉快地进行原生代码编程了。在实际开发中,NDK可以帮助我们实现性能敏感的部分,如图形处理、音频处理和物理模拟等。同时,注意...
除了基本的Android SDK之外,为了开发C/C++代码,还需要搭建NDK环境。 **1.2.1 NDK的安装** NDK提供了必要的工具和库支持,包括C库头文件、数学库头文件、JNI接口头文件、Zlib压缩头文件、Android日志库头文件以及...