android中间层
sagacity789
这个作者很懒,什么都没留下…
展开
-
Android JNI知识简介
<br />Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。<br />1.从如何载入.so档案谈起<br /> 由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Vi转载 2011-06-02 14:35:00 · 892 阅读 · 0 评论 -
Android Dalvik虚拟机初识
Android Dalvik虚拟机初识首先,让我们来思考下面几个问题:什么是Dalvik虚拟机?Dalvik VM与JVM有什么区别?Dalvik VM有什么新的特点?Dalvik VM的架构是怎么样的? 首先,我得承认第一个问题问得很傻:什么是Dalvik虚拟机?没有人给出过一个明确的定义,但是,我们似乎可以从人们对Java虚拟机的描述中得到些信息。 J转载 2011-06-03 11:46:00 · 1227 阅读 · 0 评论 -
Dalvik 分析之准备篇
前言:dalvik 是 Android 的重要组成部分 ,掌握其运行机制对理解整个Android系统有着相当之大的帮助。本文将介绍GDB单步调试和Dexdump工具的使用,期望为探索dalvik打下一定的基础。 1. Dalvik 之编译为了能够更方便的调试dalvik,我们需要编译一个在X86上运行的dalvik和相关工具。编译步骤如下:首先进入到Android 源码根转载 2011-06-04 10:50:00 · 1150 阅读 · 0 评论 -
Dalvik 分析 - Class加载篇
Java 源代码经过编译后会生成后缀为class的文件,也即字节码文件。然后在Android中使用dx工具将其转换为后缀为jar 的dex类型文件。Dalvik 虚拟机负责解释并执行编译后的字节码。在解释执行字节码之前,当然要读取文件,分析文件的内容,得到字节码,然后才能解释执行之。在整个的加载过程中,最为重要的就是对Class的加载 – Class包含Method,Method 又包含code。转载 2011-06-04 10:53:00 · 1347 阅读 · 0 评论