转自:https://i-blog.csdnimg.cn/blog_migrate/1e05ee7fdb0a522dd7d730aa21e4a32f.png
问题:在工程中看到这样一个修饰词对于小白的我来说没有见过
学习过程:
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文件,像这样的:
然后在project工程下新建jniLibs文件夹,像这样
注意jniLibs的文件夹位置要和java在同一目录下,然后在为jniLibs里面引用的.so文件指定路径:
然后编写代码时用static{};去加载文件
之后就可以调用了