【文件属性】:
文件名称:Android 深入研究JNI详解
文件大小:196KB
文件格式:PDF
更新时间:2014-12-10 13:26:52
android,jni,.so库,
1.从如何载入.so档案谈起
由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual Machine)来执行。VM在Android平台里,扮演很重要的角色。
此外,在执行Java类的过程中,如果Java类需要与C组件沟通时,VM就会去载入C组件,然后让Java的函数顺利地调用到C组件的函数。此时,VM扮演着桥梁的角色,让Java与C组件能通过标准的JNI介面而相互沟通。
应用层的Java类是在虚拟机(VM: Vitual Machine)上执行的,而C件不是在VM上执行,那么Java程式又如何要求VM去载入(Load)所指定的C组件呢? 可使用下述指令:
System.loadLibrary(*.so的档案名);
例如,Android框架里所提供的MediaPlayer.java类,含指令:
java代码:
1. public class MediaPlayer{
2. static {
3. System.loadLibrary(“media_jni”);
4. }
5. }
网友评论
- 还行 就是10分太贵了
- 还可以,就是要2分,有点高了
- android 4.4升5.0的时候出现system/lib加载64位的so问题,通过JNI语法可进行修改
- 对JNI不了解的我,真想下载
- 讲述了JNI实现机制
- 好文章的資源,值得收藏
- 还不错,对于刚接触Android JNI的朋友来说够用了
- 内容不是很多,还可以。
- 对初学者学习来说,不错,谢谢
- 很不错的文档,讲的比较全面。感谢分享!
- 讲述了JNI实现机制
- 讲述了JNI实现机制,一般步骤,挺好的
- 字体清晰,对于完全不了解JNI的初学者,可以下来看看