ARouter 第五篇 - 服务和拦截器 (arouter-api)
本系列文章主要分析 ARouter 框架的架构和原理。 这是阿里 ARouter 开源库的地址,大家可以直接访问 https://github.com/alibaba/ARouter 本篇博文主要分析 arouter-api 模块,该模块涉及到 ARouter 一些核心逻辑:初始化,跳转,拦截,服务等,下面的几篇文章就要从这几个方向来分析; 在阅读过程中,涉及到方法跳转的时候,注释上有 --& ...
阅读更多
ARouter 第四篇 - 路由初始化 (arouter-api)
本系列文章主要分析 ARouter 框架的架构和原理。 这是阿里 ARouter 开源库的地址,大家可以直接访问 https://github.com/alibaba/ARouter 本篇博文主要分析 arouter-api 模块,该模块涉及到 ARouter 一些核心逻辑:初始化,跳转,拦截,服务等,下面的几篇文章就要从这几个方向来分析; 绘图工具:PlantXML 在阅读过程中,涉及到方法 ...
阅读更多
ARouter 第三篇 - 注解解析 (arouter-compiler)
本系列文章主要分析 ARouter 框架的架构和原理。 这是阿里 ARouter 开源库的地址,大家可以直接访问https://github.com/alibaba/ARouter 本篇博文主要分析 arouter-compiler 模块; 1 模块结构下面我们来看看 arouter-compiler 的模块结构: 12345678910111213141516|____com| |___ ...
阅读更多
ARouter 第二篇 - 注解定义 (arouter-annotation)
本系列文章主要分析 ARouter 框架的架构和原理。 这是阿里 ARouter 开源库的地址,大家可以直接访问https://github.com/alibaba/ARouter 本篇博文主要分析 arouter-annotation 模块; 1 模块结构下面我们来看看 arouter-annotation 的结构; 1234567891011121314151617src -> ma ...
阅读更多
ARouter 第一篇 - 基本使用
本系列文章主要分析 ARouter 框架的原理。 这篇文章 里面的一些内容来自: https://github.com/alibaba/ARouter/blob/master/README_CN.md 官网对其使用已经总结的很好了,本篇博文在其基础上整理了下~~ 1 简单介绍对于 ARouter 大家只要做过模块化开发,那么就一定有所了解,ARouter 是阿里巴巴开源的一款路由框架,用于解决 ...
阅读更多
PMS 第 12 篇 - 通过 adb 指令分析 enable/disable 过程
[toc] 基于 Android7.1.1 分析 PackageManagerService 的架构设计! 0 综述本文来分析下 pms enable 相关的操作: adb shell pm enable adb shell pm disable 同样的,我们从 Pm 中看起! 1 Pm1.1 run12345678910111213141516171819202122232425262728 ...
阅读更多
PMS 第 11 篇 - 通过 adb 指令分析 hide/unhide 过程
[toc] 基于 Android7.1.1 分析 PackageManagerService 的架构设计! 0 综述本文来分析下 pms hide 相关的操作: adb shell pm hide adb shell pm unhide 这个指令可以让一个 package 被 hide,无法被找到,同样的,我们从 Pm 中看起! 1 Pm1.1 run和其他方法的调用逻辑一样,进入 run 方 ...
阅读更多
PMS 第 10 篇 - 通过 PackageInstaller 分析 uninstall 过程
[toc] 基于 Android7.1.1 分析 PackageManagerService 的架构设计! 0 综述前面总结了通过 pm uninstall 的方式来卸载一个 apk,下面我们来分析下通过 PackageInstaller 来卸载应用! 对于用户来说,他们最常用的卸载方式,就是进入应用管理,然后进入指定的应用界面,选择卸载应用: 我们通过 dumpsys window 指令,可以 ...
阅读更多
PMS 第 9 篇 - 通过 adb 指令分析 uninstall 过程
[toc] 基于 Android 7.1.1 源码分析 PackageManagerService 的架构和逻辑实现! 0 综述本篇文章总结下 uninstall package 的过程,一般来说,卸载一个应用有如下的方式: adb uninstall(最终调用的还是 pm uninstall/cmd package uninstall); adb cmd package uninstall; ...
阅读更多
ANR 第 1 篇 - ANR 开篇
还在整理中,
阅读更多