android jni

一:前期准备

 

下载android NDK 地址:http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip

下载Cygwin 地址:http://www.cygwin.com 必须是Cygwin 1.7或是更高版本,Cygwin 1.5不支持

 

二:配置环境变量

 

1. 安装完Cygwin后,将下载的android NDK解压到Cygwin的安装目录,即和Cygwin里的bin目录同级。

 

2. 到Cygwin目录下面找到home/当前用户/.bash_profile文件,打开并在文件末尾添加如下:

 

    NDK=/android-ndk-r5b

    export NDK

 

3. 重新启动Cygwin

 

三:编译jni文件

 

    cd $NDK/samples/Hello-jni

    $NDK/ndk-build

 

就会编译samples/hello-jni/jni/hello-jni.c为libhello-jni.so文件,也就是会生成一个samples/hello-jni/libs目录里面有编译好的文件,

 

eclipse环境开发JNI

一:下载eclipse,配置环境

 

地址http://www.eclipse.org我下载了两个eclipse分别是 Eclipse IDE for Java Developers 和Eclipse IDE for C/C++ Developers然后将Eclipse IDE for C/C++ Developers里的插件全部copy到Eclipse IDE for Java Developers 插件中(其实我想要的是里面的cdt插件,找不到。。找到了安装不上,也不想折腾)。安装google的ADT插件,我们用整合好的eclipse开发。

 

二:导入工程,配置对应的Builders

 

将下载的android-ndk-r5b中samples里的Hello-jni导入到eclipse工程里,给这个工程添加一个Builders右击Hello-jni选择

Properties->Builders->New选择Program,添加信息如下:

android jni_第1张图片

 

这里也就是执行一个bash命令 bash -c "cd /workpalce/hello-jni && $NDK/ndk-build" 和前面原理一样,进入到要编译的工程目录,执行ndk-build脚本,-c参数说明后面要执行的命令在一个字符串里。这个字符串里有两个命令:先进入工程目录,执行脚本

 

android jni_第2张图片

 

这里设置什么时候要执行前面的命令,也就是什么时候编译jni文件为.so文件。这里有设置有clean后编译,人工编译等。用户可以自己选择。

到这里一个简单的android的工程可以使用了。点eclipse里Project->Clean就可以看到控制台上输出如下信息:

Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup       : libs/armeabi/gdb.setup
Install        : libhello-jni.so => libs/armeabi/libhello-jni.so

表示已经编译完成c文件。这样就可以通过jni接口访问本地生成的文件接口了。

 

 

 

你可能感兴趣的:(eclipse,android,jni,脚本,bash,ide)