【技术】Android中用native 修饰的方法学习

转自:http://blog.csdn.net/changeyahuhei/article/details/52021689


问题:在工程中看到这样一个修饰词对于小白的我来说没有见过


学习过程:

1.native 叫做本地方法,需要提前知道的知识:NDK 和JNI

a.对于NDK (Native Development Kit)自己科普了一下 总结来说就是用C语言来给Android手机做开发,优点是可以直接和硬件对话,缺点就是跨平台比较麻烦

b.对于JNI (JavaNative Interface)自己又科普了一下 总结来说是一种Java接口,可以实现Java调用本地的C/C++或者其他语言编写的代码,优点是可以集成c语言和硬件对话的优势,缺点就是牺牲了Java的跨平台性,所以在使用时,要最大可能将native修饰的方集中放在最少的类中,减少耦合性,来达到保留Java自身优点的目的。

2.如何把已经有的本地.so文件或者c/c++源代码加入到工程中来

a.假设你已经有了编译好的.so文件,像这样的:

【技术】Android中用native 修饰的方法学习_第1张图片【技术】Android中用native 修饰的方法学习_第2张图片

然后在project工程下新建jniLibs文件夹,像这样

【技术】Android中用native 修饰的方法学习_第3张图片

注意jniLibs的文件夹位置要和java在同一目录下,然后在为jniLibs里面引用的.so文件指定路径:

【技术】Android中用native 修饰的方法学习_第4张图片

然后编写代码时用static{};去加载文件

【技术】Android中用native 修饰的方法学习_第5张图片

之后就可以调用了

【技术】Android中用native 修饰的方法学习_第6张图片




你可能感兴趣的:(技术,总结)