现在的位置: 首页 > 综合 > 正文

Android中JNI开发(一)开发环境

2012年04月07日 ⁄ 综合 ⁄ 共 1283字 ⁄ 字号 评论关闭

Android中JNI开发环境:

大概分4个步骤:

   1. 安装Cygwin,在线安装,安装过程略(注意:安装时除了常用的工具外不要忘了安装make和gcc);

   2. 下载NDK,下载完后直接解压即可;

   3. 配置环境-->这个很简单。
       找到Cygwin目录下,打开home/用户/.bash_profile文件,添加"NDK=/cygdrive/<你的盘符>/<android ndk 目录>", 例如:
         NDK=/cygdrive/e/android-ndk-r5
         export NDK
 

   4. 现在配置就算是完成了,可以直接通过命令“$NDK/ndk-build”来编译android项目中的c/c++并打成库了,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在        里面。。

       注意:编译时需要在android项目的根目录下执行;

       例如:  cd $NDK    -进入NDK的根目录
                     cd samples/hello-jni/    -进入hello-jni项目的目录
                     $NDK/ndk-build     -编译项目
                     然后找到这个项目目录,发现会生成一个libs目录就是编译后的结果。打开它,如果有libhello-jni.so这个文件就正常了


注意:在这几个步骤中可能会遇到一些错误,我遇到的说一下。

1.在编译过程中提示:
       ERROR: You are using a non-Cygwin compatible Make program.
     这个是说你用的make工具不是cygwin的,后来发现原来,我的环境里配置了WinGW,暂时的删除后未提示了。
  
2. 在编译过程中提示:
      can't open file /cygdrive/d/android-ndk-k/check-awk.awk
      source line number 1 source file /cygdrive/d/android-ndk-r7/build/awk/check-awk.awk
      context is
      >>>  <<<
      Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Naw
      /cygdrive/d/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting.    。 停止
    这个在网上看到说:找到“\NDK目录\prebuilt\windows\bin\awk.exe”,把awk.exe删除或改名,之后编译通过。
  
3.在编译过程中提示:
     Cannot find 'make' program. Please install Cygwin make package or define the....
    这个是说Cygwin没有安装make工具,我采用的是再次 在线安装 一遍Cygwin,选择相同的安装目录,重新勾上make工具,不会删除以前安装过的其它工具。

抱歉!评论已关闭.