mfkauko

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

最近一直在弄NDK编程,在网上百度了很多文章,各有各的说法,按照他们的做或多或少的出现了很多卡壳的地方。经过不懈的努力,终于自己弄好了,以防自己忘记了流程,现在就记下来,方便以后查阅。

因为自己用的NDK是android-ndk-r7c版本,跟网上百度来的很多版本都不对,所以弄起来费了很大劲,发现其实不用那么麻烦的。

1.NDK配置

这个问题百度上有很多文章的,基本上也是按照他们的做法的。也就不赘述了。具体可参照:http://www.cnblogs.com/hxycn/archive/2011/06/15/2081360.html

2.编写自己的NDK

不用像他们说的那样设置很多变量。直接在Eclipse中新建一个项目。编写自己的Activity和JNI(两者可以在一个.java中),例如我写的是MainActivity和MyJNI两个。

MainActivity的代码为:

MyJNI代码为:

然后在cygwin下到该工程的bin目录下。输入命令:javah -classpath ./classes -jni crazy.lost.android.MyJNI  (注意后面的一个参数其实就是找到MyJNI的路径,只是把包名中的.换成_)。然后在该bin目录下会生成一个.h文件

在Eclipse下该工程目录下新建一个jni目录,然后把上面得到的.h文件拷贝进去(直接复制后在Eclipse中点击jni文件夹复制)。

然后在jni目录中新建一个.c文件和Android.mk文件

内容编写参照网上例子,其实都没有多大的变化,只是注意名称。

最后在cygwin中,到该工程的根目录下,即bin的父目录中,然后执行$NDK_ROOT/ndk-build即可编译,得到.so文件。

在eclipse中刷新该工程,一定要,不然要报错,因为生成的libs和obj文件此时没有包含进去。

然后直接运行即可。

posted on 2012-04-26 17:20  mfkauko  阅读(233)  评论(0编辑  收藏  举报