一:什么是NDK?
NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk。这些工具对开发者的帮助是巨大的。
NDK 集成了交叉编译器,并提供了相应的mk 文件隔离CPU、平台、ABI 等差异,开发人员只需要简单修改mk 文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK 可以自动地将so 和Java 应用一起打包,极大地减轻了开发人员的打包工作。比较简单的说,NDK是一套交叉编译工具,它可以帮你把你用C或C++书写的代码,编译为.so(类似与win下的.dll)格式的文件,使你可以在你的Android程序当中用Java语言(JNI)调用这些代码.
二:下载安装cygwin
由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境,cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用。通过它,你就可以在不安装linux的情况下使用NDK来编译C、C++代码了。下面我们一步一步的安装cygwin吧。
首先,你得先跑到http://www.cygwin.com/下载setup.exe
1、 然后双击运行吧,运行后你将看到安装向导界面:
2、 点击下一步,此时让你选择安装方式:
1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。
3、选择第一项,然后点击下一步:
4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步:
5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目录,直接点下一步就可以:
6、此时你共有三种连接方式选择:
1) Direct Connection:直接连接。
2) Use IE5 Settings:使用IE的连接参数设置进行连接。
3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。
根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后再点击“下一步”,
7、 这是选择要下载的站点,我用的是http://mirrors.kernel.org/,速度感觉还挺快,选择后点下一步.(有的网友说选择台湾的站点也比较快)
8、 此时会下载加载安装包列表
9、Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不用动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不用管它就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列出了后面开发NDK用得着的包:
autoconf2.1、automake1.10、binutils、gcc-core、gcc-g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包
10、然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个就没必要选了。
11、下面测试一下cygwin是不是已经安装好了。
运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!
三:配置NDK环境变量
1、首先找到cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件,我的是:E:\cygwin\home\Administrator\.bash_profile,
2、打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk 目录> 例如:
NDK=/cygdrive/e/android-ndk-r5
export NDKRoot
(NDKRoot这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存)
建议用UE打开,不要用记事本,txt等编辑,同时不要以dos格式打开,否则配置不对
3、打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/e/android-ndk-r5信息,则表明环境变量设置成功了。
四:用NDK来编译程序
1、现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于E:\android-ndk-r5\samples\hello-jni(根据你具体的安装位置而定).
2、运行cygwin,输入命令cd /cygdrive/e/android-ndk-r5/samples/hello-jni,进入到E:\android-ndk-r5\samples\hello-jni目录。
3、 输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)
(早期NDK版本是make APP=hello-jni ,还要对应app和source2个目录的项目目录,现在改成了$NDK/ndk-build)
4、此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!
转自
http://www.cnblogs.com/jdksummer/articles/2166057.html
分享到:
相关推荐
首先,配置NDK环境变量是必不可少的步骤。在Windows环境下,通常使用Cygwin作为命令行工具。你需要找到Cygwin的启动路径下的`.bash_profile`文件,如果不存在,就需要创建一个。在文件中添加NDK的路径,例如`NDK_...
总之,配置NDK环境变量对于在Windows下使用Cygwin进行Android原生开发至关重要。正确设置后,开发者可以利用Cygwin提供的Linux工具链,无缝地在Windows上进行NDK编程,同时享受Linux工具的便利性。
3. **NDK环境变量配置** - 在Cygwin的home目录下(通常是`C:\cygwin\home\<用户名>\.bash_profile`)编辑`.bash_profile`文件,定义NDK的路径,例如`NDK=/cygdrive/e/android-ndk-r5`。 - 在Cygwin终端中,使用`cd...
### 非常强大的Eclipse中Android NDK开发环境的配置说明 #### 一、概述 本文档将详细介绍如何在Eclipse中配置Android NDK开发环境,并实现C/C++代码的自动编译以及通过Eclipse使用Ant生成JNI所需的头文件。配置流程...
### Android NDK环境搭建知识点详解 #### 一、概述 Android NDK (Native Development Kit) 是一套用于在Android上开发原生应用或者扩展应用性能的工具集。它提供了执行原生代码(C/C++)的能力,并提供了将这些代码与...
2. **配置环境变量**:将NDK的路径添加到系统的PATH环境变量中,以便命令行可以识别NDK工具。 3. **集成到Android Studio**:在Android Studio中配置NDK路径,以便在项目中使用。 4. **使用NDK编译原生代码**:通过...
安装插件后,可能还需要在Eclipse中进行一些配置,以确保NDK环境变量被正确识别和使用。 在配置NDK eclipse环境变量时,还需要注意一些细节问题。例如,确保在不同的开发环境(例如Android Studio和Eclipse)中环境...
本资源摘要信息将详细介绍Windows下Eclipse搭建AndroidNDK开发环境的过程,从Cygwin的搭建到Eclipse的配置,囊括了整个开发环境的搭建过程。 Cygwin的搭建 Cygwin是一个类Unix操作系统的模拟环境,可以在Windows...
在Windows上,可能需要将NDK的路径添加到系统的PATH环境变量;在Unix或MacOS系统中,可以通过修改~/.bashrc或~/.zshrc文件来实现。 然后,配置Android Studio。虽然此处提到的是NDK R9,但现代的开发通常使用更新的...
Linux用户需要解压“android-ndk-r25b-linux.zip”,将其添加到PATH环境变量中,以便在终端中直接使用ndk-build、ndk-gdb等命令。此外,Linux下的开发环境设置,如编译器配置、交叉编译等,也需要熟悉。 总结来说...
2. 配置NDK路径:将NDK的安装目录添加到系统的PATH环境变量中,这样命令行工具可以随时访问。 3. 安装QT:下载并安装QT 5.12.6版本,这是与NDK r19c兼容的版本。确保在安装过程中选择Android平台支持。 4. 配置QT的...
**3.1.5 Android NDK**:下载并解压NDK至合适的位置,配置环境变量使其可访问。 **集成步骤** 1. 在Eclipse中创建一个新的Android项目,例如名为"hello-jni"。 2. 将NDK示例项目的`jni`目录复制到新创建的项目中。...
1. **设置环境变量**:在Windows上,需要配置NDK的路径到系统环境变量,以便命令行工具可以访问。 2. **创建项目结构**:创建一个包含jni目录的Android项目,jni目录下是存放C/C++源码的地方。 3. **编写本地代码**...
1. **安装配置**:下载并解压`android-ndk-r13b-windows-x86_64.zip`,设置环境变量,确保系统能够找到NDK的路径。 2. **创建项目**:在Android Studio中创建一个新的Android项目,并启用“Native C++ support”。 ...
4. **配置NDK路径**:在Cygwin环境下,需要设置NDK的环境变量。编辑`home/<你的用户名>/.bash_profile`文件,添加如下内容: ``` NDK=/cygdrive/f/android-ndk-r4 export NDK ``` 这里的`NDK`指向你的NDK安装...
2. **配置 NDK 路径**:确保已经安装了 Android NDK,并将其添加到系统的 PATH 环境变量中。例如,如果你的 NDK 安装在 `F:\android\NDK\android-ndk-r4` 目录下,那么需要将该路径添加到 PATH 变量中。 3. **安装 ...
1. **ndk-build.cmd**: 这是一个批处理脚本,用于Windows环境下运行,它调用了NDK的构建系统来编译和链接本地源代码。开发者可以自定义Makefile文件来配置构建过程。 2. **GNUmakefile**: GNUmakefile是NDK构建系统...