首先需要一个集成了Android SDK的eclipse,这就不多说了。
1, 首先我是在WinXP下面进行的,所以要安装Cygwin(这是一个在Windows下面运行linux/unix的工具,而你不需要安装相应的OS),请安装最新版本,在下载包的时候
请注意下载,
autoconf2.1
automake1.10
binutils
gcc-core
gcc4-core
gdb
pcre
pcre-devel
这些必须下载。
安装完成后,
打开Gygwin,输入
make -v
gcc -v
检查是否安装成功,否则点击setup.exe更新。
2,下载NDK
3,在Cygwin的home/用户/.bashrc文件最后加上
NDK=/cygdrive/d/android-sdk-windows/android-ndk-r6
#向外指定该变量
export NDK
d/android-sdk-windows/android-ndk-r6是你的NDK的目录d代表盘符。
输入cd $NDK检查是否成功。如果成功就会跳转到前面指定的目录。
4,将Cygwin的bin目录和ndk的安装目录都加入的path环境变量的后面。
5,编译hello-jni示例,在Cygwin中进入到samples\hello-jni\jni目录,
执行$NDK/ndk-build编译c程序。编译后会生成libs\armeabi\libhello-jni.so
OK。
6, 可以在eclipse中安装cdt,这样可以更方便的编写c/c++程序。
7, Eclipse 的生成器。以下是我的配置: (感谢
枫)
右击你的项目,选择properties
在左边的列表中选择Builders
在右侧,点击 New… 按钮
在列表框,选择Program 作为配置类型;点击OK 按钮,进入下一个配置对话框。
命名 name 为NDK Builder
选择 Location 为d:\cygwin\bin\bash.exe
Working Directory 为d:\cygwin\bin
Arguments 为:
--login -c "cd /cygdrive/D/android_works/HelloJni/jni && ndk-build"
确保在 login 前有两个连接号, -c 后面的引号。
接着打开 refresh 的 tab 面板:
选中Refresh resources upon completion
选择Specific resources
点击Specify resources 按钮,选择你项目的 lib 目录,如果你没有lib目录,那么使用默认选择The entire workspace即可。
选中Recursively include sub-folders
接着打开Build Options 的 tab 面板:
选中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 按钮。