Android Jni NDK 操作介绍


刚刚接触Android jni时感到束手无策啊,特别是被android ndk 不同版本给弄糊涂了,现在给大家介绍一下,希望对刚入门的菜鸟们有帮助啊!老牛就可以飘过了啊!

一,准备工作

     Cygwin                    http://www.cygwin.com/

     android-ndk-r5c       http://developer.android.com/sdk/ndk/index.html

     CDT     Eclipse

二.安装Cygwin

     我们将采用Cygwin去编译c,c++代码

     1.到上面给出的地址下载,点击setup.exe安装。

     2.给大家介绍安装过程要注意哪些问题,在这里我只介绍几个关键的步骤,其他点击下一步就ok了

     

      选择下面这个地址进行下载安装

    

     选择Devel Default 点成install 然后点击下一步

    

     安装的过程可能要比较久,要看的网络速度,大家就耐心的等待,等待大功告成,哇哈哈!!

     安装成功后打开桌面的上的Cygwin图标,进入Cygwin,我们随便测试几个命令,如果能看到下面效果,证明你成功了。

        

三、安装NDK

      1.下载android-ndk-r5c (到2011-06时,最新的版本,这个与NDK r4之前的有很多不同,等下给大家介绍)

       2.将android-ndk-r5c 解压 具体位置自己定

       3.打开cygwin 进入到android-ndk-r5c 的根目录下,具体指令如下:

       cd /cygdrive/d/android-ndk-r5c/      (我的ndk是在D:/android-ndk-r5c)

       4.现在介绍ndk-r4之前,与之后版本的区别

       1)r4之前的版本:

        在第三步的基础上,输入build/host-setup.sh  如果出现下面的信息则表明安装成功

        

        编译使用 make APP=hello-jni -B (hello-jni是ndk例子工程)

      2)r4之后的版本:

      自ndk r4版本后,不再需要在apps目录下建立工程了,也不再使用make APP=工程名方式来编译生成.so本地库了。

      在ndk r4版本后,使用的是ndk安装目录下的ndk-build脚本来实现的编译。关于ndk-build的使用,文档中是这样说的,在

      cygwin中输入项目的所在路径,然后使用$NDK/ndk-build来实现编译。

      注意到上面使用了$NDK,这是NDK安装目录在cygwin中的环境变量。
      下面就简单记录下如何在cygwin中设置windows中的某个目录为环境变量。
      a、在桌面-》我的电脑-》属性-》高级-》环境变量-》用户变量-》找到HOME项,删掉。
      b、在cygwin安装目录下找到home文件夹,打开,里面什么都没有。进入$cygwin/etc/skel下,复制一份.bash_profile文件。放   到
      $cygwin/home/用户名/目录下。用户名是你的当前登录用户,可能是Administrator。
      c、打开.bash_profile文件,在文件末尾加上:
          NDK=/cygdrive/d/android-ndk-r5(这里写成Linux中文件路径形式,windows中对应的目录和文件被mount在cygwin目录下的cygdrive目录下)。
         export NDK
     d、运行cygwin,输入 cd $NDK,如何设置成功,则显示刚刚配置的路径。
     e、测试ndk-build脚本,进入$NDK/sample/hello-jni项目下,运行$NDK/ndk-build

     下面是使用r5c版本的NDK 运行的效果图

     

相关内容