摘要: 概述 Property是Android系统中一个重要的概念,在Android系统内,主要用于系统配置,以及不同服务间的简单信息分享。比如设备名字,蓝牙名字,编译信息,网络dns地址,以及其他的一些基本信息。 除了简单的信息分享外,还有个功能是启动和停止系统服务。 通过设置ctl.start.xxx属 阅读全文
posted @ 2016-05-18 23:54 Balancor 阅读(2480) 评论(0) 推荐(0) 编辑
摘要: 这里开始分析init进程中配置文件的解析,在配置文件中的命令的执行和服务的启动。 首先init是一个可执行文件,它的对应的Makfile是init/Android.mk。 Android.mk定义了init程序在编译的时候,使用了哪些源码,以及生成方式。当init程序生成之后,最终会放到/in... 阅读全文
posted @ 2014-12-25 14:43 Balancor 阅读(2967) 评论(0) 推荐(0) 编辑
摘要: Android Init语言是一种特别简单的语言,专门用来写Android的Init进程使用的配置文件的。 相当于Linux系统中的rc文件(这句话对于Linux者多半是句废话)。Android Init语言主要有四部分组成,分别是Actions, Commands, Services和Opt... 阅读全文
posted @ 2014-12-25 14:42 Balancor 阅读(780) 评论(2) 推荐(1) 编辑
摘要: 下面这是基于Android4.2代码的关于Input子系统的笔记。在这篇笔记中,只涉及Android相关的东西,关于Linux内核中对各种输入设备的统一,在本文中不作说明。此外,由于才疏学浅,文中难免有错误的地方,希望各位路过的大神能够予以指出。闲话少叙,先看一张我自己设计的图,如下:这幅图是为了便于个人理解画出的,里面的注释也比较明白,就不再说明。本文就是以这幅图为基本的思路,简述在Android4.2系统中和Input子系统的相关一些内容。如图,本文将分为以下几个部分叙述:(0)Input系统的启动(1)InputReader的功能,以及执行的流程(2)InputDispatcher的功能 阅读全文
posted @ 2013-09-20 17:57 Balancor 阅读(13250) 评论(1) 推荐(4) 编辑
摘要: 前面对于MediaPlayer的系统研究,刚刚开始,由于其他原因现在要先暂停一下。这次要看的模块是android 4.2 系统中的Keyguard模块。在接触之后才发现,android4.2的keyguard模块与之前相比,变化挺大的,最起码名字上变化挺大的。由于对于Android系统了解不是很深入,而且知识和经验都比较弱,在文中肯定有不恰当或者错误的地方,请各位路过的大神不吝指正。 在Android 4.2中,keyguard的模块存放的目录是在[/frameworks/base/policy/src/com/android/internal/policy/impl/keyguard/... 阅读全文
posted @ 2013-09-06 23:35 Balancor 阅读(17007) 评论(2) 推荐(1) 编辑
摘要: 研究Android系统的童鞋,想必都已经了解一个Activity的启动过程了。而且在网上,关于Activity的启动的文章非常多,很容易就能找到的。这篇文章的重点放在ActivityManagerService如何与新进程之间的通信商,因此关于Activity的启动过程,这里就略过不说了。 本文是基于《深入理解Android II》中第六章的前两节完成,对于书中的内容,这里尽量少说,而是以自己的理解和补充为主。下面列出一幅图,是描述Activity启动过程在ActivityManagerService所在进程及应用程序所在进程的执行的函数有哪些未完,待续在文章的最后,提出几个问题:(1)在An 阅读全文
posted @ 2013-08-29 11:52 Balancor 阅读(1488) 评论(0) 推荐(0) 编辑
摘要: 自从接触Android系统已经一年多了,这段时间内对于Android系统的Framework层的各个模块都有过接触,有时也做过分析,但是一直没能形成一个总结性的东西。这次下定决心,好好整理整理对于Android系统的学习梳理一下自己的思路。本文一方面是为了自己梳理下知识,文中涉及的内容,基本是拾人牙慧,很少有自己的东西,最多也就算是自己的总结;除此作用之外,如果能为后来者引玉,也算是一点功德吧。这次首先是对Android系统中的PowerManagerService进行下整理。之所以先选择PowerManagerService,是因为这个模块相对于Android系统中其他的模块而言,与系统.. 阅读全文
posted @ 2013-08-26 17:37 Balancor 阅读(17387) 评论(3) 推荐(1) 编辑
摘要: 前段时间接到任务,探究一下MediaPlayer在Android系统中是如何实现的。到现在为止终于有些眉目了,在调查代码时候虽然有些吃力,但是还算是有所得的。今天把自己对MediaPlayer的粗浅理解拿出来,一来作为笔记备份;一来和大家分享。以下代码都是以Android4.2代码为基础的,欢迎大家指正,共同学习。 为了有一个完整的阅读代码的脉络和思路,我是以一个非常简单的Java应用程序开始。程序非常简单,代码如下:1 MediaPlayer mediaPlayer = new MediaPlayer();2 mediaPlayer.setDataSource("/sdcard/t 阅读全文
posted @ 2013-03-09 00:35 Balancor 阅读(4816) 评论(0) 推荐(0) 编辑
摘要: 最近接收的知识量太大,脑袋的容量太小,有些东西仅仅知道有这回事,等用到的时候就像不起来了。这下面是从别人那摘抄的:adb shell input keyevent 4 #发送模拟硬件信息到设备。每个键盘硬件对应的数字是:0 --> "KEYCODE_UNKNOWN"1 --> "KEYCODE_MENU"2 --> "KEYCODE_SOFT_RIGHT"3 --> "KEYCODE_HOME"4 --> "KEYCODE_BACK"5 --> "K 阅读全文
posted @ 2012-11-02 09:28 Balancor 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 首先感谢我的老师。下面的内容来自我的大学教材。教材是我的老师自己编撰的,是他的辛苦才使我今天学习更加方便。后悔一下当初玩的太多...中断向量类型表 中断类型 功能 一 CPU中断类型 0 1 2 3 4 5 6,7 除法溢出中断单步(用于DEBUG)非屏蔽中断(... 阅读全文
posted @ 2012-10-20 09:21 Balancor 阅读(1873) 评论(0) 推荐(0) 编辑