![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 78
rambo2188
To Be Better!
展开
-
Android4.0.1 源码下载,模拟器编译和运行
经过漫长的等待, android4.0 (Ice Cream Sandwich)的源码终于放出来了 (三星说,嘿嘿,我的产品已经开卖了好几个星期了,不要意思,又领先了一步),本博客将在第一时间与大家分享,下载,编译运行 android ICS 的经验。 以下是详细内容:Android ICS 下载http://source.android.com/source/downloading.原创 2011-11-07 14:46:49 · 19359 阅读 · 18 评论 -
Dalvik Virtual Machine references
Dalvik 虚拟机参考资料 这里记录dalvik vm 主要的参考资料,本文档会不断更新。 Dalvik VM 源代码Android是开放的系统,尽管不是开源系统。我们能够看到所有的源代码,尽管我们比起oem厂商拿到代码要晚一些,我们还是能够得到近乎所有的实现,并且是没有刻意处理过的(想想几年前花钱买了某个知名java虚拟机厂商的虚拟机实现,在加大了价钱并且签署一系列保密协议原创 2012-03-19 00:22:22 · 4893 阅读 · 0 评论 -
android system services startup process
android 系统服务启动流程 速记init =>Zygote service =>main() @ frameworks/base/cmds/app_process/app_main.cpp =>startSystemServer() @ ZygoteInit.java =>init1() @ SystemServer.java =>JNI =>a原创 2012-03-19 13:02:49 · 3810 阅读 · 0 评论 -
Dalvik VM start up process
Dalvik VM的启动过程解析Dalvik 虚拟机的启动要从android另一个著名的模块,Zygote,说起。 我们知道android系统中,每一个java应用被设计成可以运行在一个单独的Linux进程中。而每个该进程都包含一个运行中的dalvik虚拟机实例,用来执行该应用中的java字节码。很多java基础类(比如,java.lang.*)和一些系统级的共享性资源原创 2012-03-19 00:29:12 · 7335 阅读 · 1 评论 -
Dalvik VM Hash - implementation
Dalvik虚拟机 之 哈希表实现篇前面两篇分别介绍了dvm里哈希表的接口和使用。下面我们来看看dvm里哈希表是怎么实现的。 数据结构/** One entry in the hash table. "data" values are expected to be (or have* the same characteristics as) valid pointers.原创 2012-03-30 00:27:28 · 2850 阅读 · 1 评论 -
Dalvik VM Hash - how to use
Dalvik 虚拟机 之 哈希表使用篇前面介绍了dvm里德哈希表提供的方法。下面就以InternedString实现为例介绍一下哈希表的使用。我们将看到dvm里哈希表的设计非常直观,其使用更是简单明了。 Interned String是指java虚拟机将某些字符串“内部化”,和不同字符串的最大区别就是在虚拟机内部永远只会存在改字符串的唯一实例。多次分配改string都将返回该字符串唯一原创 2012-03-30 00:26:03 · 3094 阅读 · 0 评论 -
Dalvik vm Hash interface
Dalvik VM 哈希表 之 接口篇 几乎在所有的高级语言中都有哈希表(hashmap)的支持。它已经成为很多语言内建的数据类型。但是C语言创建较早,没有内建的哈希表类型的支持。我们只能通过库的实现来支持。如果仅仅想使用哈希表又不想引入整个库,我们可以简单的实现哈希表。Dalvik就是这么做的。dalvik哈希表的代码在 dalvik/vm/hash.c dalvik/vm/has原创 2012-03-30 00:24:38 · 2843 阅读 · 0 评论 -
Android 源代码在线查看
google开放了android的源码,我们可以在如下网站下载到:http://source.android.com/source/downloading.html但是有时候我们只是想查看一下某个部分是怎么实现,不想去下载整个repo甚至是整个workspace。 android在线源码给我们提供了一个不错的选择。在google里搜索 “android source code on原创 2012-03-24 21:25:38 · 19096 阅读 · 1 评论 -
Dalvik vm make file config and source tree
Dalvik 虚拟机编译脚本 和 源代码树本文简单的分析Dalvik虚拟机源码(dalvik/vm)的结构以及编译脚本(*.mk)编译脚本Dalvik源码目录结构并不复杂。其编译脚本也很简单。主要有以下几个文件组成:dalvik/vm/Android.mk dalvik/vm/ReconfigureDvm.mkdalvik/vm/Dvm.mk和and原创 2012-03-24 21:01:25 · 4717 阅读 · 0 评论 -
android API使用追踪
使用场景有时候,我们知道某个具体的Java API被使用到。我们想知道该API是在哪里被使用到的。直观的方法,就是搜索源代码,找到所有使用的地方,做标记(比如打log)。然后在输出log中查看标记就知道改API在什么地方调用到了。 该方法的缺点是显而易见的:1. 如果调用该方法的地方很多,需要修改很多处2. 如果再想看调用该方法的方法是在哪里被使用的,需要更多的修改。简直是原创 2012-03-24 21:52:32 · 3572 阅读 · 0 评论 -
Android 信号处理面面观 之 trace 文件含义
在前一章Android 信号处理面面观 之 信号定义、行为和来源 中,我们讨论过,Android 应用在收到异常终止信号(SIGQUIT)时,没有遵循传统 UNIX信号模型的默认行为 (终止 + core )。而是打印出trace 文件来,以利于记录应用异常终止的原因。 本文就重点分析 trace 文件是怎么产生的,并详细解释trace文件的各个字段的含义。一. TRACE 文件的原创 2011-11-27 19:42:54 · 16295 阅读 · 7 评论 -
Android 信号处理面面观 之 信号定义、行为和来源
传统 Unix系统的信号定义和行为所有的符合Unix规范(如POSIX)的系统都统一定义了SIGNAL的数量、含义和行为。 作为Linux系统,Android自然不会更改SIGNAL的定义。在Android代码中,signal的定义一般在 signum.h (prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr原创 2011-11-21 23:07:51 · 24035 阅读 · 5 评论 -
Android 信号处理面面观 之 概述
首先澄清,本文讨论的信号是 Linux 软中断信号,而不是手机状态条里面用于显示当前手机通信强度的那个信号。 本文是 增量型博客,内容会不断更新,请改话题感兴趣的朋友偶尔可以再回头来看看更新的内容。我们知道,Unix系统里信号是一种软中断。尽管本身存在缺陷(后面会讨论到),但是作为Unix系统重要的异步事件处理方式之一,在Unix系统中发挥重要的作用。可以说,所有Unix系统(包括原创 2011-11-20 14:09:51 · 4562 阅读 · 0 评论 -
Android4.0.1 模拟器内核 最新下载地址及编译步骤
Android 4.0.1已经放出来了,但是其模拟器内核是预编译的bianry。没有提供内核源代码。 想自己编译一个内核,这样子可以改内核代码完,可是找了网上的资料,发现都已经过时了。 本文提供最新的 地址和方法。由于android kernel的部分封闭策略,kernel org已经将 android kernel踢出主线。原有的 同步地址已经被重定向,再加上android ke原创 2011-11-17 10:42:59 · 8753 阅读 · 16 评论