由于我使用的是NDK1.6,所以该文中的NDK环境指的是1.6。之前Google还发布了一个1.5版本的NDK,配置步骤应该与之类似。

  1. 下载并解压android-ndk-1.6_r1;
  2. 安装1.6或高于1.6版本的android-sdk;
  3. 下载Cygwin, 执行setup.exe开始安装(在select package 页面要选上Devel,安装编译器等(附图),否则后面编译不过);
  4. 运行Cygwin.bat,出现linux shell提示符(便于以后直接进入到NDK的根目录,可以在/home/username/.bash_profile文件中添加如下内容:
  5. NDK_ROOT=/cygdrive/<ndk install path>/android-ndk-1.6_r1
    export NDK_ROOT)

  6. 在linux shell提示符下进入到NDK的根目录输入如下命令以配置NDK环境:build/host-setup.sh; 成功表示环境搭建OK;
  7. 编译.so文件(linux下.so相当于win 的dll)以NDK下的hello-jni为例,在 shell提示符下进入到NDK的根目录,输入:make APP=hello-jni。如果编译成功会在<NDK install roo>/apps/hello-jni/project/libs/armeabi目录下生成hello-jni.so文件。

到此一个用C/C++实现的dll就生成了,可以在Android java程序中调用hello-jni.so了。