Ubunu下搭建android NDK环境

1,下载NDK:地址:
http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip
2,解压:
sudo apt-get install unzip
unzip android-ndk-r4b-linux-x86.zip
3,进入目录,查看个文档
cd android-ndk-r4b
其中有build,doc,samples,sources目录,doc目录下放着一些说明文件,比如如何使用ndk-build(这在以前的版本中是通过执行build/host-setup.sh初始化,然后执行make APP = xxxx (此处为hello-jni)来完成编译的)。ANDROID-MK.TXT说明了如何书写mk文件,还有其它帮助文档。
4,配置NDK环境变量,在~/.bashrc文件末尾添加:
NDK=~/android-ndk-r4b
export NDK
5,查看是否生效
echo $NDK
6,编译示例程序:
方法一:
cd samles/hello-jni
NDK/ndk-build
方法二:
NDK/ndk-build -C ~/android-ndk-r4b/samles/hello-jni
-C指定工程目录路径
*******************两种方法都会在当前目录下生成libs和obj子目录
7,打开eclipse,新建一个android工程,注意:此处不要“新建”工程,而是从已有源中创建工程(create project from existing source);注意sdk的版本level要符合该示例程序的最低要求(此处为min 3)
8,创建工程完毕,打开jni目录下的hello-jni.c可以修改其中的字符串,我修改为“Gaga, I 'm developing android!”,然后回到命令行,重新执行NDK/ndk-build命令,即重新编译项目,再回到eclipse,刷新整个项目;
9,新建一个模拟器(1.5),然后运行该示例程序,即可看到刚才更改后的字符串出现在模拟器的textview中。

附录:android NDK官方下载地址:

Android SDK 3.0
Windows
http://dl.google.com/android/installer_r10-windows.exe
http://dl.google.com/android/android-sdk_r10-windows.zip
Mac OS X(intel)
http://dl.google.com/android/android-sdk_r10-mac_x86.zip
Linux(i386)
http://dl.google.com/android/android-sdk_r10-linux_x86.tgz

Android NDK r5b
Windows
http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip
Mac OS X(intel)
http://dl.google.com/android/ndk/android-ndk-r5b-darwin-x86.tar.bz2
Linux
http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2

Android SDK 2.3
Windows
http://dl.google.com/android/android-sdk_r08-windows.zip
http://dl.google.com/android/installer_r08-windows.exe
Linux (i386)
http://dl.google.com/android/android-sdk_r08-linux_86.tgz
MAC OS X (intel)
http://dl.google.com/android/android-sdk_r08-mac_86.zip

Android NDK r5
Windows
http://dl.google.com/android/ndk/android-ndk-r5-windows.zip
Mac OS X (intel) r5
http://dl.google.com/android/ndk/android-ndk-r5-darwin-x86.tar.bz2
Linux 32/64-bit (x86) r5
http://dl.google.com/android/ndk/android-ndk-r5-linux-x86.tar.bz2

你可能感兴趣的:(android,linux,windows,jni,Google)