通过搜索网上各种资料,发现都提到了需要安装Cygwin,以提供支持linux下 gcc的MinGun环境。安装Cygwin是一件非常蛋疼的事情,因此查看多方资料发现google提供的最新版本的NDK(android-ndk-r8b以上的版本)不需要在安装Cygwin,通过eclipse就可以编译运行native代码,使用非常方便。
具体的步奏方法如下:
首先要保证正确安装java JDK,Android SDK。并且到google网站下载和自己电脑匹配的NDK压缩包,然后解压,配置环境变量(将加压后的根目录添加到系统的环境变量中),然后在eclipse中添加加压后的NDK目录(eclipse的菜单栏中选择window--->Preference--->Android---->NDK)。
1、新建一个Android工程,鼠标右键工程---->Android Tools---->Add Native support
然后工程中会多一个jni的文件夹,并且文件夹中有2个文件,.cpp是编写C/C++源代码的文件,Android.mk是对C/C++源码相关的编译配置进行描述。
之后右键工程--->Build Project.
2、在java文件中创建native方法,然后工程中新建一个ndk.ant的文件,并在文件输入一下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================
2014-10-8 下午12:50:00
project
description
====================================================================== -->
<project name="project" default="ily">
<target name="ily" description="description">
<exec executable="javah" dir="${basedir}/bin/classes">
<arg value="-d"/>
<arg value="${basedir}/jni"/>
<arg value="-jni"/>
<arg value="com.example.ily.JavaNativeInterface"/>
</exec>
</target>
</project>
然后右键该文件---->Run As---->Ant Build,如果提示BUILD SUCCESSFUL,表示编译成功,然后刷新工程,在jni目录下会多一个.h文件,该文件里面就是对走之前编写的java文件的native方法的一个声明,在.cpp文件中可以实现native方法的具体业务处理。