Android Source Code Learning
文章平均质量分 97
小海编码日记
Android开发工程师,先后从事ROM定制,App架构设计,产品需求研发等工作
展开
-
菜鸟学Android源码-Settings(2)
最近一直忙着项目上的活计,没啥心思关注博客,前两天屌丝逆袭,看了一场你的名字,深深感叹叔叔辈的无奈啊,青葱憧憬爱情的年华,垂老怀旧相依的岁月,而我老未及老,幼以过幼,哎,白瞎了一张电影票。上回我们基于Android M以前版本的源码,了解并学习了Android M中Settings Menu Tree( PS:主界面)的组织流程,我们知道在Android M及其以前的系统中,Settings原创 2016-12-11 00:17:18 · 1409 阅读 · 0 评论 -
Android同步源码问题
(1)fatal: remote error: access denied or repository not exported: /aosp/platform/manifest一般的原因是镜像源出问题,更新镜像源即可(参考清华大学镜像站说明清华大学镜像)(2)error: .repo/manifests/: contains uncommitted changes在.repo/manifests目原创 2016-09-18 21:33:00 · 2345 阅读 · 0 评论 -
MAC OpenGrok搭建
OpenGrok一个快速、便于使用的源代码搜索与对照引擎。它帮助你搜索,对照,定位你的源代码树。它能够明白各种程序文件格式和版本控制历史记录如 SCCS,RCS,CVS与Subversion。OpenGrok是OpenSolaris操作系统源文件浏览和搜索的工具。那么怎么在Mac机上搭建OpenGrok查看源代码呢?首先安装HomeBrew,具体安装过程可以百度,HomeBrew安装成功后就可以开始原创 2016-12-14 23:07:24 · 1371 阅读 · 0 评论 -
菜鸟学Android源码-System Server服务启动(Launcher调起)
接上篇文章,我们转入SystemServer.java这个类中学习,该类位于/framework/base/services/java/com/android/server/查看该类的main函数,具体代码如下:public static void main(String[] args) { new SystemServer().run(); }从上面可以看出SystemSe原创 2016-12-19 22:54:24 · 1767 阅读 · 0 评论 -
Android Binder Analysis(1)
Android Binder Analysis(1)@(Android)[Binder|AIDL|Messenger]Binder这个名词大家或许有些许陌生,但是在Android系统中却具有至关重要的作用,作为Android系统所特有的特征之一,无论是系统服务的调度还是跨进程通信中,处处皆可见其身影,接下来我会从四个层面逐一介绍Binder (简称Binder的WH2W),即:WHAT :Wha原创 2017-05-20 17:50:54 · 3614 阅读 · 6 评论 -
Android Binder Analysis(2)
Android Binder Analysis(2)@(数据库系统)[Binder, AIDL, Messenger] 前文中,我们简单介绍了Binder相关的OS 基础知识,从Linux,Android以及Component communication等角度详细阐述了跨进程通信在OS内部的必要性,随后简单粗暴地提出了Binder的概念,在本节中我们将围绕Binding Service,从Bind原创 2017-05-21 21:15:29 · 2239 阅读 · 4 评论 -
Android Binder Analysis(4)
Android Binder Analysis(4)@(数据库系统)[Binder, AIDL, Messenger]上篇博文中我们以AIDL为核心,简单介绍了AIDL同步类型项目的基本开发流程,并总结了AIDL开发中的M3T,即:MUST:Package Name Of JAVA Bean MUST Be Same To AIDL MUST:AIDL File Of Client MUST B原创 2017-05-23 22:04:23 · 619 阅读 · 0 评论 -
Android Binder Analysis(3)
Android Binder Analysis(3)@(数据库系统)[Binder, AIDL, Messenger]前文中我们描述了Binder的基本概念,及其在Binding Service时的两种应用场景,Extends Binder Class和Messenger,接下来我们来看Binder的第三个应用场景:AIDL。AIDL在官网的解释如下: Note: Using AIDL is n原创 2017-05-22 23:05:14 · 921 阅读 · 0 评论 -
菜鸟学Android源码-Android System StartUp Process
(PS:本篇为翻译文章,英文原文链接:The Android Booting process)关于Android 系统启动流程我们有很多疑问,比如说什么是Zygote?什么是init.rc?Linux kernel和Android Linux Kernel有什么区别?这片文章就是为了说明这些问题。下面这张图详细描述了开机过程: 第一步:电源以及系统启动在按下Power键时,引导芯片代码开始从预定义翻译 2016-12-18 10:54:53 · 560 阅读 · 0 评论 -
Android源码分析之——下载并编译源码
Android源码分析之——下载并编译源码在正式开式前,先唠唠全程的几个坑,大家注意规避:Android源码编译时依赖于OpenJDK而不是OracleJDK不同的Android系统版本要求不同的OpenJDK版本目前Ubuntu14.04以下安装OpenJDK8有困难,建议升级系统(PS,我有中招)最重要的是你得有一个速度可靠的梯子(PS,我教的是利用国内镜像喔,使用梯子的请参考官网)大原创 2016-04-23 14:45:05 · 726 阅读 · 0 评论 -
菜鸟学Android源码——Setting(1)
菜鸟学Android源码——Setting(1)在上一篇中,我简单介绍了Android源码的下载和编译,还没有下载编译源码的小伙伴请看这里:Android源码分析之——下载并编译源码关于系统设置App的源码位于:/packages/apps/Settings中,我们可以通过AndroidManifest.xml查看整个Setting应用的入口Activity,从而理清整个应用的脉络,Setting应原创 2016-07-19 21:53:57 · 2388 阅读 · 2 评论