NDK入门

来源:互联网 发布:怎么样看淘宝店铺真假 编辑:程序博客网 时间:2024/05/17 03:54
因公司需要,需要接受c的接口开发,于是开始猛扒现有的资料:
1,刚开始的时候eclipse是没有NDK这个插件的。需要先下载ndk插件,下载地址:http://pan.baidu.com/s/1pKFVRMN
2,下载完成之后将该文件com.android.ide.eclipse.ndk_23.0.2.1259578.jar放在eclipse\plugins文件下,还有很多eclipse没有的插件都是通过这样的方式加进去的,类似的还有ant,findbugs都是这样的,下载地址和笔记以后用到的时候再研究,以前研究过没掌握。
3,重启eclipse在windows->Preferences->Android->NDK中设置路径为ndk文件夹的路径,该文件也需要从网上下载。http://pan.baidu.com/s/1gfAwLQ7
(不知道该文件对不对,没有经过验证)
  到此为止eclipse就能调用。c文件提供的sdk接口了。

将so文件放到libs/armeadbi文件夹下,用到so文件中的方法的话,就在java文件中加上这行:private native void add(int a,lnt b);
add()是so文件中有的方法,打个比方用的。然后可以在java代码中使用了。  
Android.mk   xxx.c这两个文件是放在jni文件夹下的,不知道有什么用,和NDK有关系。
mk文件的内容是规定哪些内容编译哪些内容不编译,xxx.c提供jni接口将c中的函数编程jni函数共java来调用。
但是,自己想要生成一个.so文件自己去写个测试学习下的话,需要cygwin程序,将java文件编译成.so文件。

但是........so文件是人家大神写好的,会给我提供超完整的接口和变量提示的,我只需要将so文件放到正确的位置,然后用到so文件中的函数的时候,在用到函数前面加个标志就可以啦。

方法:
 
  1,将so文件放到libs\armeabi文件下,没有就去创建。
    2,java文件中用到so中的函数的时候,这样写:public native void add(int a,int b);   native的位置和名称不能变,其他位置上的名称可以根据自己的需要变。
昨天一天的时间都再搞明白NDK和JnI问题,都被搞晕了。。。原来调用已写好的so文件是如此简单。c程序员将写好的纯c文件导出成so文件传给我就行了。
上边的那些知识点是自己写c语言自己调用的用法,不过现在这种写法很难用,不是非常注重c开发的优势的话很难用到吧。

0 0
原创粉丝点击