Android中用native 修饰的方法学习
2016-07-25 11:00
330 查看
问题:在工程中看到这样一个修饰词对于小白的我来说没有见过
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/fastcry.gif)
学习过程:
1.native 叫做本地方法,需要提前知道的知识:NDK 和JNI
a.对于NDK (Native Development Kit)自己科普了一下 总结来说就是用C语言来给Android手机做开发,优点是可以直接和硬件对话,缺点就是跨平台比较麻烦
b.对于JNI (Java Native Interface)自己又科普了一下 总结来说是一种Java接口,可以实现Java调用本地的C/C++或者其他语言编写的代码,优点是可以集成C语言和硬件对话的优势,缺点就是牺牲了Java的跨平台性,所以在使用时,要最大可能将native修饰的方集中放在最少的类中,减少耦合性,来达到保留Java自身优点的目的。
2.如何把已经有的本地.so文件或者c/c++源代码加入到工程中来
a.假设你已经有了编译好的.so文件,像这样的:
![](http://img.blog.csdn.net/20160812221240348)
![](http://img.blog.csdn.net/20160812221248317)
然后在project工程下新建jniLibs文件夹,像这样
![](http://img.blog.csdn.net/20160812221509218)
注意jniLibs的文件夹位置要和java在同一目录下,然后在为jniLibs里面引用的.so文件指定路径:
![](http://img.blog.csdn.net/20160812221704932)
然后编写代码时用static{};去加载文件
![](http://img.blog.csdn.net/20160812222300174)
之后就可以调用了
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/fastcry.gif)
学习过程:
1.native 叫做本地方法,需要提前知道的知识:NDK 和JNI
a.对于NDK (Native Development Kit)自己科普了一下 总结来说就是用C语言来给Android手机做开发,优点是可以直接和硬件对话,缺点就是跨平台比较麻烦
b.对于JNI (Java Native Interface)自己又科普了一下 总结来说是一种Java接口,可以实现Java调用本地的C/C++或者其他语言编写的代码,优点是可以集成C语言和硬件对话的优势,缺点就是牺牲了Java的跨平台性,所以在使用时,要最大可能将native修饰的方集中放在最少的类中,减少耦合性,来达到保留Java自身优点的目的。
2.如何把已经有的本地.so文件或者c/c++源代码加入到工程中来
a.假设你已经有了编译好的.so文件,像这样的:
然后在project工程下新建jniLibs文件夹,像这样
注意jniLibs的文件夹位置要和java在同一目录下,然后在为jniLibs里面引用的.so文件指定路径:
然后编写代码时用static{};去加载文件
之后就可以调用了
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories