NDK环境搭建和编译第一个程序

kelivin 发布于 2012/11/24 10:15
阅读 1K+
收藏 2

看了网上很多文档,学习很多前人的经验,也遇到很多问题,整理分享一下。

环境搭建:(windos XP操作系统)

1.到Cygwin的官方网站下载Cygwin的安装程序,地址是: http://www.cygwin.com/setup.exe验证环境:make -v,gcc -v

2.下载NDK,http://developer.android.com/tools/sdk/ndk/index.html,最新版本是android-ndk-r8c,解压即完成安装。最新版本没有build/host-setup.sh,所以无需执行这个文件。

3.打开Cygwin安装目录下的Cygwin.bat文件,加入刚才下载NDK解压后的路径,便于以后在命令行里面引用。

chdir E:\CygwinPortable\App\Cygwin\bin

set NDK=/cygdrive/e/android/software/android-ndk-r8c

bash --login -i

 

至此环境搭建完成,没有以前版本那么多复杂步骤了。

 

编译第一个程序,以NDK/samples/hello-jni程序为例

1.用eclipse打开hello-jni工程,编译工程,生成HelloJni.class文件

2.利用HelloJni.class生成hello-jni.h文件,这部是网上很多文档没提到过的,我做这步的过程中就遇到很多问题。在dos窗口打开hello-jin根目录,执行下面批处理命令:javah -classpath "c:\program files\Android\android-sdk\platforms\android-16\android.jar";bin/classes com.example.hellojni.HelloJni,特别要注意库文件及类文件路径,不然头文件会生成失败。命令行参考文档http://blog.csdn.net/hejinjing_tom_com/article/details/8125648

3.利用生成的.h文件定义,自己新建.c文件,实现头文件中的接口,参考sample中的hello-jni.c和Android.mk

4.编译hello-jni.c文件,产生.so库文件。进入到hello-jni.c文件目录,在Cygwin command里面执行$NDK/ndk-build clean, $NDK/ndk-build,编译生成库文件libhello-jni.so,其中$NDK就是刚才Cywin.bat中设定的NDK安装路径。

5.eclipse里面更新hello-jni工程,编译运行,可以看到程序输出“Hello from JNI !”,运行成功

加载中
返回顶部
顶部