实战StateMachine状态机前面我们讲解了设计模式中的状态模式,以及分析了安卓源码中的StateMachine状态机的内部实现原理。其原理简而言之:就是通过状态树维持各种状态实例,各个状态实例相邻之间可以互相转换,不相邻的便通过内部状态树遍历查找。通过消息传递机制,发送消息并转换状态实例,从而实现对应状态下响应对应状态下应有的逻辑。 状态机的实现步骤 ...
Android源码分析之状态机原型
源码分析之状态机原型许久没更新设计模式部分内容了,之前介绍了设计模式中的状态设计模式,期间一直忙于工作上的事,对安卓源码进行了相关的学习。翻回来看时候,发现更新到这里的时候,就顺便对源码部分的状态机StateMachine研究一下,其内部的设计思路就是状态者模式的最佳体现,后续会这个基础上详细分说wifiStateMachine的工作方式,是状态机的具体实现 ...
源码编译之系统代码资源Overlay机制
代码overlay机制意思是,将我们在Android原生代码上修改过的文件,单独放在一个目录下,而在编译代码的时候就会去检测这个目录下的文件,如果这个目录下的文件与原生有相同的文件,那么就将这个文件放入编译的源文件中,而将原生相同文件名的文件从编译的源文件中去除。
Makefile之文件名操作函数
Makefile之文件名操作函数 取目录函数-dir $(dir <names...> ) 名称:取目录函数 dir 功能:从文件名序列<names>中取出目录部分。目录部分是指最后一个反斜杠(“/”)之前的部分。如果没有反斜杠,那么返回“./”。 返回:返回文件名序列<names>的目录部分。 示例: @echo $( ...
关于调用intermediates下中间文件流程分析
关于调用intermediates下中间文件流程分析最近查看安卓源码在分析其Oberlay机制,无意中发现call intermediates-dir-for 方法的调用,其后面跟了好许参数,就在这里深入的分析了解一下,原代码文件基于Mstar定制的android6.0分析 $(call intermediates-dir-for,,,,)/src 代码 ...
apktool 使用一览
apktool使用说明 确保电脑当前版本的jdk至少1.7以上 下载页面wrapper script右击保存为*.bat脚本文件 链接 下载apktool到本地 链接 修改重命名文件名为:apktool 将两个文件移动到指定目录下: windows -> c://Windows (usually) Linux -> /usr/ ...
Mac地址批量生成bin包说明
生成Mac地址,并制作mac.bin用于刷写说明:MAC地址由12位16进制的数字组成,同过申请或者购买可以获得一连串的Mac地址字符串,我们需要将这一连串的mac地址按照同意统一要求制作成单一的bin文件刷写,同时在刷写完成便删除此文件 通过提供起始mac地址,mac地址的个数以及mac文件命规则,批量生成mac.bin文件 采用java的写如流操作, ...