Android
文章平均质量分 85
天天吃吃
嚼得菜根,做得大事
展开
-
Nexus 7 搞机教程
Nexus 7 搞机教程Nexus 7 搞机教程系统准备刷入recovery激活Nexus 7Root刷入Android其它版本系统准备这里,我准备了Nexus 7(wifi第二版)作为测试机型,Android版本4.4.2。由于该机器是一个新机器,还没激活,需要在WLAN界面联网激活,否则无法进入系统。我已经尝试过使用代理IP,或者使用翻墙的其它手机作为热点,都以失败告终。所以,在这里原创 2016-07-11 14:23:00 · 2200 阅读 · 0 评论 -
Android系统源码阅读(11):Android的InputManagerService的工作过程
Android系统源码阅读(11):Android应用的InputManagerService的工作过程 请对照AOSP版本:6.0.1_r50。 1. 创建InputManager这里和老罗当年的版本有很大不同了,有了InputManagerService管理InputManager。1.1想要探索如何启动的相关server,需要从SystemServer开始探寻。从SystemServe原创 2016-09-21 17:40:09 · 2250 阅读 · 0 评论 -
Android系统源码阅读(12):InputChannel的注册过程
Android系统源码阅读(12):InputChannel的注册过程 请对照AOSP版本:6.0.1_r50。 InputManager可以获得输入事件并分发,Activity需要处理这些输入事件。那么,这两者之间如何建立的连接呢?这就需要InputChannel作为桥梁建立两者之间的通道。1. ViewRootImpl创建InputChannel这里ViewRoot类已经消失了,由View原创 2016-09-24 16:51:28 · 6409 阅读 · 1 评论 -
Android系统源码阅读(13):Input消息的分发过程
Android系统源码阅读(13):Input消息的分发过程 请对照AOSP版本:6.0.1_r50。学校电脑好渣,看源码时卡半天先回顾一下前两篇文章。在设备没有事件输入的时候,InputReader和InputDispatcher都处于睡眠状态。当输入事件发生,InputReader首先被激活,然后发送读取消息,激活Dispatcher。Dispatcher被激活以后,将消息发送给当前激活窗原创 2016-09-27 22:34:23 · 3956 阅读 · 2 评论 -
Android系统源码阅读(1):编译
Android系统源码阅读(1):编译 该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。Android系统源码阅读1编译编译过程1 下载第三方二进制文件2 编译刷入真机启动emulator问题在Android Studio中阅读源码1 生成idegen2 导入原创 2016-07-24 13:24:02 · 1195 阅读 · 0 评论 -
Android系统源码阅读(14):Zygote和System进程的启动
Android系统源码阅读(14):Zygote和System进程的启动 再不学习我们就老了0. Zygote有什么卵用?Zygote是进程孵化器,Android系统中其他服务进程都是拷贝于它。Zygote在设计模式中对应于prototype,这样做的好处是可以通过拷贝Zygote来快速创建一个进程。1. Zygote脚本启动在开机时,init进程会调用如下脚本启动进程。system/core原创 2016-11-28 22:06:45 · 734 阅读 · 0 评论 -
Android系统源码阅读(15):Android 应用进程的启动
Android系统源码阅读(15):Android 应用进程的启动 自己开心就好,何必管他人烦恼1. 应用进程创建ActivityManagerService负责管理应用进程的创建。这一节会讲述如何从ActivityManagerService申请创建一个app进程,然后从zygote克隆一个进程的过程。1.1 ActivityManagerService.startProcessLocked原创 2016-12-02 14:41:41 · 628 阅读 · 0 评论 -
Android系统源码阅读(16):Android 应用线程的消息循环模型
Android系统源码阅读(16):Android 应用线程的消息循环模型 读书不宜拖沓0. 背景Android应用的主线程为ActivityThread,在第(10)章已经讲过,它主要负责处理界面事件,所以开发者应该避免在主线程中处理耗时的任务。为了减轻主线程的负担,开发者应该启用多线程来处理耗时的任务。在Android中可以创建多种线程,有的线程可以有自己的消息循环,原创 2016-12-04 21:52:44 · 897 阅读 · 0 评论 -
Android系统源码阅读(17):Android 应用的安装
Android系统源码阅读(18):Android 应用的安装和显示 学到的才是自己的,干活都是扯淡1. 应用的安装PackageManagerService负责管理应用的安装。在第14章中讲到,SystemService会启动PackageManagerService,那么我们就从SystemService启动PackageManagerService开始分析。1.1原创 2016-12-07 20:37:16 · 932 阅读 · 0 评论 -
Android系统源码阅读(9):Content Provider数据更新通知
Android系统源码阅读(9):Content Provider数据更新通知Android系统源码阅读9Content Provider数据更新通知用户注册内容观察者Content Provider发送更新消息1. 用户注册内容观察者 1. 用户(比如一个Activity)想要实时获得某项内容的变化,需要注册相应的观察者。这个观察者可以自定,但是需要继承ContentObserver类,这原创 2016-09-07 20:57:28 · 712 阅读 · 0 评论 -
Android系统源码阅读(8):Content Provider数据传输过程
Android系统源码阅读(8):Content Provider数据传输过程 该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。 Android系统源码阅读8Content Provider数据传输过程用户开始查询Content Provider处理事务Provider原创 2016-09-05 10:57:12 · 608 阅读 · 0 评论 -
Android系统源码阅读(10):Android 应用程序的消息处理机制
Android系统源码阅读(10):Android 应用程序的消息处理机制基础知识 原来写好的博客被CSDN给坑了,法克,只能靠回忆重写。 Android应用程序的四种组件皆运行于ActivityThread之中。ActivityThread包含有程序入口main,同时它会启动一个循环,这个循环会轮询消息队列,来处理发送给它的消息。而四种组件则被这个线程统一管理。所以,ActivityTh原创 2016-09-13 15:12:14 · 582 阅读 · 0 评论 -
Cydia Substrate 初尝试:刷计步软件数据
Cydia Substrate 初尝试:刷计步软件数据Cydia Substrate 初尝试刷计步软件数据Cydia设备准备探索思路监听器注册事件分发CydiaCydia Substrate是一个代码修改工具,可以修改IOS、Android系统代码,从而实现自己的奇思妙想。Cydia的使用方法教程不再赘述,下面直接进入实战。设备准备一台Root过得Android设备,Android系统版原创 2016-07-14 21:30:34 · 1745 阅读 · 0 评论 -
Android系统源码阅读(4):Service在新进程中启动过程
Android系统源码阅读(4):Service在新进程中启动过程 该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。 Android系统源码阅读4Service在新进程中启动过程从Activity开始启动Service在ActivityManagerService中准原创 2016-08-18 13:52:31 · 470 阅读 · 0 评论 -
Android系统源码阅读(3):子Activity在进程内的启动过程
Android系统源码阅读(3):子Activity在进程内的启动过程 该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。Android系统源码阅读3子Activity在进程内的启动过程子Activity在进程内的启动过程Step1 从旧Activity开始启动Step2原创 2016-08-17 10:03:23 · 772 阅读 · 0 评论 -
Android系统源码阅读(2):根Activity组件的启动过程
Android系统源码阅读(2):根Activity组件的启动过程 该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。Android系统源码阅读2根Activity组件的启动过程代码摘抄两个版本的LauncherAndroid的Singleton模式的实现Activit原创 2016-08-06 17:56:33 · 1311 阅读 · 0 评论 -
Android系统源码阅读(5):Service在进程内绑定
Android系统源码阅读(5):Service在进程内绑定 该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。 Android系统源码阅读5Service在进程内绑定Step1 Activity开始启动ServiceStep2 ActivityManagerService原创 2016-08-18 22:59:04 · 530 阅读 · 0 评论 -
Android系统源码阅读(6):广播机制
Android系统源码阅读(6):广播机制 该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。 Android系统源码阅读6广播机制注册广播接收器Step1 Activity开始注册Step2 ActivityManagerService处理注册发送广播Step原创 2016-08-21 15:44:45 · 809 阅读 · 0 评论 -
Android系统源码阅读(7):Content Provider的启动
Android系统源码阅读(7):Content Provider的启动 该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。 Android系统源码阅读7Content Provider的启动基本知识用户开始调用ProviderActivityManager处理请求原创 2016-08-31 14:06:01 · 554 阅读 · 0 评论 -
Android Monkey 源代码阅读
Android Monkey 源代码阅读1. Monkey开始启动 1. main函数只是设置了进程的名称,主要过程在run函数中执行。 2. 获取参数,初始化参数和随机数。然后它会获取系统的一些服务,见1.3。获取需要启动的main activity,见1.4。创建一个MonkeySourceRoandom对象mEventSource,由他管理随机事件的生成,这里首先让它生成了一个启动ma原创 2016-09-16 09:46:14 · 1867 阅读 · 0 评论 -
Android系统源码阅读(18):Android 应用的显示
Android系统源码阅读(18):Android 应用的显示1. 启动ActivityManagerService在前面第14章讲到,在System进程启动时,会启动系统的一些基本服务。启动就有ActivityManagerService和PackageManagerService。在SystemServer中如下启动ActivityManagerService。frameworks/base/s原创 2016-12-08 20:23:08 · 517 阅读 · 0 评论