R4比较特别,跟前面R1-R3的方法都不同了,完全改变了!
这里所说的,是在你已经下载好R4,和成功安装了Cygwin的条件下,要做的事情。
Cygwin安装时,选择一个镜像下载点,接着install Devel下的Gcc和make两个文件就可以了。
现在说一下,怎样编译项目的问题:
准备:在Cygwin安装目录下,找到home/username的目录下的.bash_profile文件,打开文件在最后加上“
NDK=/cygdrive/d/android-ndk-r4-windows/android-ndk-r4
export NDK
”
如果找不到home/username,那么就把环境变量中的HOME删除,再重新打开Cywgin。
其中d/android-ndk-r4-windows/android-ndk-r4是NDK的根目录。
在R4下,NDK提供了3种编译方式:
1.在Cygwin下,输入cd $NDK/ndk-build
例如:D:\workspace_Android\helloJni\jni 里面有Android.mk和hello-jni.c
那么命令就是 cd d:workspace_Android\hellpJni\jni $NDK/ndk-build
2.在Cygwin下,$NDK/ndk-build -C
3.暂时没有明白,有知道者,请补充
以下是直接在Eclipse中编译so文件
1. 为NDK工程添加Builder
选择 相应的 Project ,点击右键 选择 Properties ,在窗口里选择Builders ,
新增一个“Android NDK Builder”编译配置:
2. 配置
2.1 在Main 页面里
Location 栏 选择 你安装Cygewin时配置的root目录下的 bash.exe 所在路径,
F:\android\NDK\Cygewin\bin\bash.exe
在Working Directory 里配置路径为 root下的bin目录的路径
F:\android\NDK\Cygewin\root\bin
最重要的是在Arguments的配置,(注意! NDK r4版本编译C,C++程序的方式做了变化)
--login -c "cd /cygdrive/f/android/workspace/HelloNDK/jni && $NDK/ndk-build"
以上参数表示 首先 登陆 Cygwin , 然后 进入 HelloNDK 这个工程 下的jni 目录(该目录下存放 c或c++的文件和 Android.mk)。最后 执行 “ndk-build” 命令 执行编译。
如果ndk-build命令无法识别,先确认是否成功配置了NDK 的所在路径(如F:\android\NDK\android-ndk-r4)到Path环境变量里。
2.2 在Refresh 页,选择 Specific resources 并选择要刷新的文件为jni
2.3 在Build Options 页 如下选择,则可以实现修改C或C++程序后立自动编译生成**.so 文件
同样选择 C或者C++原程序所在目录下的所有文件,作为相关的资源(jni)
选中“Allocate Console”
选中“Launch in background”
选中“Run the builder After a Clean”
选中“Run the builder During manual builds”
选中“Run the builder During auto builds”
选中“Specify working set of relevant resources”
点击“Specify Resources”按钮,选择你项目的JNI目录,并包含所有的文件。
点击“OK”按钮。
C/C++添加代码提示和自动完成
1.为Eclipse安装C/C++ Development Tools插件
2.新建一个C++工程,把路径指向Android工程的JNI目录
在工程属性, C/C++ General, Paths and Symbols, Includes里,添加标准C/C++的.h文件(可以从Cygwin里找到,或者安装个MinGW也会有这些.h文件)。然后添加Android的.h文件,这些文件在NDK安装目录\platforms\android-x\arch-arm\usr\include中。android-x里的“x”对应工程的API Level。例如,给Android 2.2开发程序,则用android-8里的文件。
3.在工程属性, C/C++ General, Paths and Symbols, Library里,添加在NDK安装目录\platforms\android-x\arch-arm\usr\lib
4.在工程属性, C/C++ General, Paths and Symbols, Symbols里,定义常量
ANDROID_NDK = 1
ANDROID = 1
_ARM_EABI = 1
备注:如果想以上的修改应用到全部配置(Debug or Release)和全部语言(GNU C or GNU C++),可以在添加时,勾上All config 和 All languages
3. 添加 CDT插件
直接在线安装就可以了
参考http://blog.csdn.net/lizhongkan/archive/2010/01/30/5271606.aspx
分享到:
相关推荐
《Android NDK R4:JNI调用与动态库开发实战》 在移动应用开发领域,Android NDK(Native Development Kit)作为一个重要的工具集,允许开发者使用C和C++编写部分程序,以提升性能,尤其是处理密集型计算或硬件交互...
在NDK r4b中,开发者可以编写C/C++代码,然后通过NDK的交叉编译环境,将这些代码编译为可以在Android设备上运行的本地二进制文件(.so库)。这个过程中,开发者需要对Android的ABI(Application Binary Interface)...
### 使用Android NDK编译FFmpeg与实现RTSP手机视频功能 #### 一、前言 随着移动设备处理能力的不断增强,越来越多的应用程序开始利用原生的C/C++代码来提高性能,尤其是在多媒体处理领域。FFmpeg是一款强大的跨平台...
### Android NDK r4b 开发环境搭建:深入解析与指南 #### 一、环境搭建概览 在《Android_ndk_r4b开发环境搭建.pdf》文档中,详细阐述了如何在Mac系统上构建适用于Android NDK r4b的开发环境。这包括了必要的软件...
3. **交叉编译**:NDK包含了交叉编译工具链,可以在非Android设备上编译出适用于不同Android架构(如armeabi, armeabi-v7a, x86等)的原生库。 4. **性能优化**:对于需要高效计算或者减少内存占用的场景,NDK提供...
例如,如果你的 NDK 安装在 `F:\android\NDK\android-ndk-r4` 目录下,那么需要将该路径添加到 PATH 变量中。 3. **安装 Eclipse**:请确保已经安装了 Eclipse IDE for Java Developers,并且安装了 C/C++ 开发工具...
--login -c "cd /cygdrive/d/QQDownload/android-ndk-r4b-windows/android-ndk-r4b/samples/hello-jni/jni && $NDK/ndk-build" ``` - 选中 Refresh 选项卡以启用自动刷新功能。 - 在 Build Option 选项卡中进行...
本文将详细介绍如何在Windows环境下安装和配置Android NDK,以及进行简单的NDK项目编译。 #### 二、下载Android NDK 首先,你需要从官方提供的链接下载最新版本的Android NDK。下载地址为:...
如果不定义,NDK将默认编译jni目录下的所有Android.mk指定的模块。定义该变量时,值应无空格,NDK会自动处理模块间的依赖关系。在NDK r4之前,APP_MODULES是必需的,且所有模块需要显式列出。 3. **APP_OPTIM**:此...
### Eclipse Android NDK环境配置及项目编译详细指南 #### 一、概述 本文档将详细介绍如何在Eclipse环境中配置Android NDK环境以及如何编译包含NDK组件的项目。NDK (Native Development Kit) 是Android平台提供的...
总之,NDK-GDB是Android NDK开发中的关键工具,它简化了C/C++代码的调试过程,通过掌握其使用方法,开发者能够更有效地定位和解决问题,提升开发效率。对于需要深入理解C/C++代码行为的开发者,NDK-GDB的熟练运用至...
4. **android-ndk-r4b-windows**:Android NDK的版本,用于编写和编译原生代码。 5. **android-sdk_r08-windows**:Android SDK,提供必要的工具和库支持。 假设以上软件已安装完毕,接下来我们开始配置和使用...
- 最终生成的 APK 文件路径为 `C:\cygwin\android-ndk-r4b\samples\hello-jni\bin\HelloJni.apk`。 #### 五、参考资料 - [JNI 编程指南](http://enijmax.2y.idv.tw/linux/CLib_Jni.html) - [Android NDK 开发入门...
- **跨平台开发**:虽然 NDK 主要针对 Android 平台,但其构建系统支持跨平台编译,这使得可以在多个平台上构建相同的原生代码。 - **性能优化**:利用 NDK 可以编写高性能的代码,特别是在多媒体处理、图像处理等...
**Android NDK**: 下载适用于 Mac 的 Android NDK 版本,如 `android-ndk-r4b-darwin-x86`。 **Eclipse**: Eclipse IDE 的最新稳定版本。 **ADT**: Android Developer Tools 插件,用于 Eclipse。 **CDT**: C/C++...
NDK=/cygdrive/f/android-ndk-r4 export NDK ``` 这里的`NDK`指向你的NDK安装路径,然后重启Cygwin,通过`cd $NDK`命令测试是否能成功进入NDK目录。 5. **编译NDK示例工程**:进入`samples\hello-jni`目录,...
在实际开发中,Android NDK的版本不断更新,例如提供的`android-ndk-r4`是较早期的一个版本。随着版本迭代,NDK增加了对更多CPU架构的支持,优化了编译器和构建工具,还引入了如LLVM、C++11/14标准库、Android汇编...