![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android系统
文章平均质量分 80
yclzh0522
这个作者很懒,什么都没留下…
展开
-
Davlik虚拟机技术揭秘之一
为了挖掘Dalvik虚拟机的秘密,需要仔细分析Dalvik的每一个目录,每一个文件,才能把它的细节了然于胸。下面就开始吧! Android.mk 这个文件是虚拟机编译的makefile文件。 dalvikvm 这个目录是虚拟机命令行调用入口文件的目录,主要用来解释命令行参数,调用库函数接口等。 dexdump 这个目录是生成dex文件反编译查看工具,主要用来查看转载 2011-10-26 14:34:45 · 1303 阅读 · 0 评论 -
PackageInstaller 原理简述
PackageInstaller 原理简述 应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作。APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。 Android应用安装有如下四种方转载 2011-12-09 13:18:05 · 1340 阅读 · 0 评论 -
Android之通信RIL模块分析
Android RIL的原生代码包括四个主题: 1.Android RIL框架介绍 2.Android RIL与 WindowsMobile RIL 3.Android RIL porting 4.Android RIL的java框架 在本文档中将Android代码中的重要模块列出进行分析,并给出了相关的程序执行流程介绍,以加深对模块间交互方式的理解。 对于java代原创 2011-11-10 10:36:07 · 3986 阅读 · 0 评论 -
Android 事件捕捉和处理流程分析
在Android系统中,键盘按键事件是由WindowManagerService服务来管理的,然后再以消息的形式来分发给应用程序处理,不过和普通消息不一样,它是由硬件中断触发的;在上一篇文章《Android应用程序消息处理机制(Looper、Handler)分析》中,我们分析了Android应用程序的消息处理机制,本文将结合这种消息处理机制来详细分析Android应用程序是如何获得键盘按键消息的。转载 2011-10-31 15:10:15 · 13842 阅读 · 4 评论 -
Dalvik技术揭秘之四-Dalvik虚拟机的指令格式
在分析Dalvik虚拟机运行之前,先要了解Davlik指令,但是了解Davlik指令之前又要先懂得指令的格式,才能看得懂指令是怎么样构成,怎么样表达,怎么样查看,下面就来仔细地学习指令格式,这样在代码里看到指令时,就会很自然而然知道这条指令是干什么用了。在Dalvik虚拟机的目录下面有这样一份文档,我们来仔细学习它,如下: 本文描述了在Dalvik虚拟机里字节码的指令格式,这种指令格式是转载 2011-10-27 10:37:49 · 2356 阅读 · 0 评论 -
Dalvik技术揭秘之二Dalvik虚拟机的入口点
要分析Dalvik虚拟机的代码,到底从那里开始比较好呢?从事软件开发人员都知道,每个程序都有生命周期,都有出生点,也就是程序的进入位置。像C语言里控制台程序是使用main函数作为入口点的,java程序也是使用main函数作为入口点。其实Dalvik虚拟机作为应用程序启动时,也是一样的从main函数开始。从Dalvik虚拟机源码目录dalvik/dalvikvm/Main.c文件,就可以看到入口函数转载 2011-10-26 14:37:08 · 1437 阅读 · 0 评论 -
Davlik技术揭秘之三Dalvik虚拟机的JNI方法和类表示
从上一节里,我们学习到JNI的方法表示可知,GetStaticMethodID方法最后一个参数“([Ljava/lang/String;)V”。这个参数是一个字符串,但内容排列比较奇怪,其实它是一种对函数返回值和参数的编码。这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。这里只是方法描述符,但也有类描述符。其实这串参数“([Ljava转载 2011-10-26 14:40:22 · 1421 阅读 · 0 评论 -
Dalvik技术揭秘之二Dalvik虚拟机运行ZygoteInit类
从上一节可以知道Dalvik虚拟机入口点和创建虚拟机的函数,这一节继续分析运行时类调用虚拟机的代码片段,需要搞清楚怎么样运行JAVA的ZygoteInit类,Dalvik虚拟机又提供什么样的接口调用。运行时类代码如下: /*start the virtual machine */ if (startVm(&mJavaVM, &env) != 0) goto bail; 这一段是创建虚拟机,转载 2011-10-26 14:39:01 · 972 阅读 · 0 评论 -
Android 的用户层 uevent处理机制
摘录几篇android研发日志 1 http://blog.csdn.net/linweig/archive/2010/06/01/5640697.aspx Firmware 加载原理分析----分析的比较透彻,我在wifimodule调试时遇到的问题几乎跟这个一样,不过我采取了另外一个方法,直接用kernel的read和write了,没有使用request_firmware,有空小结下。转载 2012-04-22 11:05:33 · 3807 阅读 · 0 评论