关于Android NDK R4 编译方法
时间:2010-11-29 来源:CS_FB4
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”按钮。
3. 添加 CDT插件
直接在线安装就可以了
参考http://blog.csdn.net/lizhongkan/archive/2010/01/30/5271606.aspx
这里所说的,是在你已经下载好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”按钮。
3. 添加 CDT插件
直接在线安装就可以了
参考http://blog.csdn.net/lizhongkan/archive/2010/01/30/5271606.aspx
相关阅读 更多 +