如何配置Android 的NDK 环境

手册/FAQ (310) 2016-04-07 10:03:29

 

  • 1. 下载ndk 解压
  • 2.安装cywin
  •  

cygwin是一个linux模拟环境,android ndk开发目前不支持在windwos下直接编译c语言文件,本身android是一个基于linux内核的系统。具体安装过程参考cygwin文档。在这里必须安装的组件GUN MAKE 3.81或者更新的版本,需要用来编译c文件。对linux不熟悉的话直接全部安装Devel目录下的所有组件即可。也可以下载平台的组件包到本地,从本地安装,具体请参考文档。

安装完成,打开cygwin.bat会出现一个linux shell的命令行窗口,测试GNU MAKE版本:make -v ,窗口显示gnu make 版本号(eg: GNU MAKE 3.8.1)即表示安装成功。

 

3.配置cywin , ndk

最简单的配置方法来配置cygwin的环境变量跟windows下的配置方法一样。配置环境变量只想android ndk的根目录,假设android ndk根位置D:/android-ndk-r5

ANDROID_ROOT=D:/android-ndk-r5

path=%ANDROID_ROOT%

cygwin在启动时,默认加载全部的windows的环境变量。配置好后,就可以运行ndk-build编译命令。

 

4.重新编译hello-jni测试

导航到hello-jni示例文件夹

$cd $ANDROID_ROOT/samples/hello-jni (注意引用系统环境变量与windows的区别)

运行ndk-build编译

 

$ ndk-build

编译信息:

Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver

Gdbsetup       : libs/armeabi/gdb.setup

Compile thumb  : hello-jni <= hello-jni.c

SharedLibrary  : libhello-jni.so

Install        : libhello-jni.so => libs/armeabi/libhello-jni.so

$ ndk-buildGdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserverGdbsetup       : libs/armeabi/gdb.setupCompile thumb  : hello-jni <= hello-jni.cSharedLibrary  : libhello-jni.soInstall        : libhello-jni.so => libs/armeabi/libhello-jni.so

此过程将hello-jni.c编译成.so文件,到此android ndk开发环境配置成功。

THE END