Android走过的十个年头,其技术演进也是有迹可循的,本书作者基于自己在大型App架构的技术演进中成长的经历,将遇到的相关问题进行深入剖析,包括Android 组件化架构、模块化架构、插件化架构等,并对近来国内热门Android架构体系及其研发流程,以及开发中遇到的问题进行深入剖析。
本书首先介绍Android组件化开发的基础知识,剖析组件化的开发步骤和常见问题,探究组件化编译原理和编译优化措施。其次在项目架构上,介绍如何组织团队来使用组件化开发,并将业务和人力进行解耦。最后深入介绍组件化分发技术及运用,探讨组件化架构的演进及架构的思维。
苍王,欢聚时代 YY高级工程师,具有多年Android研发经验,致力于Android组件化、进程化的研究。活跃于简书、掘金等技术社区,喜欢分享自己的技术经验。
第1章 组件化基础
1.1 你知道组件化吗
1.2 基础组件化架构介绍
1.2.1 依赖
1.2.2 聚合和解耦
1.3 重新认识AndroidManifest
1.3.1 AndroidManifest属性汇总
1.3.2 AndroidManifest属性变更
1.4 你所不知道的Application
1.4.1 Applicaton的基础和作用
1.4.2 组件化Application
1.5 小结
第2章 组件化编程
2.1 本地广播
2.1.1 本地广播基础介绍
2.1.2 使用方法
2.1.3 本地广播源码分析
2.2 组件间通信机制
2.2.1 组件化层级障碍
2.2.2 事件总线
2.2.3 组件化事件总线的考量
2.3 组件间跳转
2.3.1 隐式跳转
2.3.2 ARouter路由跳转
2.3.3 Android路由原理
2.3.4 组件化最佳路由
2.3.5 空类索引
2.4 动态创建
2.4.1 反射基础
2.4.2 反射进阶
2.4.3 反射简化jOOR
2.4.4 动态创建Fragment
2.4.5 动态配置Application
2.5 数据存储
2.5.1 数据的存储方式
2.5.2 组件化存储
2.5.3 组件化数据库
2.6 权限管理
2.6.1 权限机制
2.6.2 组件化权限
2.6.3 动态权限框架
2.6.4 路由拦截
2.7 静态常量
2.7.1 资源限制
2.7.2 组件化的静态变量
2.7.3 R2.java的秘密
2.8 资源冲突
2.8.1 组件化的资源汇合
2.8.2 组件化资源冲突
2.9 组件化混淆
2.9.1 混淆基础
2.9.2 资源混淆
2.9.3 组件化混淆
2.10 多渠道模块
2.10.1 多渠道基础
2.10.2 批量打包
2.10.3 多渠道模块配置
2.11 小结
第3章 组件化优化
3.1 Gradle优化
3.1.1 Gradle基础
3.1.2 版本参数优化
3.1.3 调试优化
3.1.4 资源引用配置
3.1.5 Gradle 4.1依赖特性
3.2 Git组件化部署
3.2.1 submodule子模块
3.2.2 subtree
3.3 小结
第4章 组件化编译
4.1 Gradle编译
4.1.1 Android基础编译流程
4.1.2 Instant Run
4.1.3 更优的Gradle构建策略
4.2 极速增量编译
4.2.1 Freeline的使用
4.2.2 Freeline运行介绍
4.3 小结
第5章 组件化分发
5.1 Activity分发
5.1.1 Activity的生命周期
5.1.2 Acitity分发技术
5.2 Fragment分发
5.2.1 Fragment的生命周期
5.2.2 Fragment分发技术
5.3 View分发
5.3.1 View的生命周期
5.3.2 View分发技术
5.4 依赖倒置
5.4.1 依赖倒置原则
5.4.2 依赖倒置分发
5.5 组件化列表配置
5.5.1 Javapoet语法基础
5.5.2 编译时注解配置
5.5.3 集成配置列表
5.6 加载优化
5.6.1 线程加载
5.6.2 模块懒加载
5.7 层级限制
5.8 多模板设计
5.8.1 多模板注解
5.8.2 脚本配置
5.8.3 动态配置
5.9 小结
第6章 组件化流通
6.1 内部流通
6.1.1 Maven基础
6.1.2 本地缓存
6.1.3 远程仓库
6.2 组件化SDK
6.2.1 SDK基础知识
6.2.2 Python脚本合并
6.2.3 fat-aar脚本合并
6.3 JCenter共享
6.4 小结
第7章 架构模板
7.1 组件化模板
7.1.1 模板基础
7.1.2 模板制作
7.1.3 实时模板
7.1.4 头部注释模板
7.2 注解检测
7.3 小结
第8章 架构演化
8.1 基础架构
8.2 基础组件化
8.3 模块化
8.4 多模板化
8.5 插件化
8.6 进程化
8.7 小结
附录A 思维与架构
前 言
这是一本关于Android组件化的书籍
这是一本关于Android入门的书籍。
这是一本关于Android进阶的书籍。
这是一本关于Android编程原理的书籍。
这是一本关于Android架构的书籍。
我更愿意将这本书看作一本关于思维哲学的书籍。
书的用途,因人而异,有人用来垫书桌,有人将其作为工具,有人将其细细品味……
你用什么角度和什么态度来看待图书,它就会以什么形态展现在你眼前。
? 当你将它作为一本Android工具书时,它会指导你对Android的进阶学习。
? 当你将它作为一本软件架构书籍时,它会将工具和人的思想关联来调整你对架构的认知。
? 当你将它作为一本思维哲学书籍时,你有可能对Android开发有新的认识。
本书概要
第1章:组件化基础。
本章重点介绍组件化中开发的基础概念。首先介绍组件化中的依赖和解耦,然后介绍组件化中AndroidManifest的合成差异,最后深度认识Application的重要作用。
第2章:组件化编程。
本章介绍组件化中相关的开发编程技术,包括组件化通信、组件化存储、跨模块跳转、资源冲突解决、多模块渠道、资源混淆、数据库运用、签名相关的运用及原理剖析。
第3章:组件化优化。
本章介绍如何使用Gradle对组件化中多种使用方式的优化,以及对编译适配的优化。随后介绍使用Git仓库来组织多人进行组件化开发,以及多人开发的项目解耦。
第4章:组件化编译。
本章介绍如何在组件化项目中缩短编译时间。首先介绍Gradle的打包流程,以及Gradle构建基础。随后介绍Instant Run的使用和适用场景。最后介绍Freeline增量编译,以及部分原理剖析。
第5章:组件化分发。
本章介绍如何在单页面中处理复杂的业务逻辑。首先介绍Activity、Fragment、View的生命周期,以及组件化分发架构的嵌入。随后介绍依赖倒置型的设计和层级问题的解决方法,其中插叙了编译期注解的高效生成代码的形式。最后介绍动态加载配置的形式。
第6章:组件化流通。
本章介绍如何在组件化中工程封装工具SDK。首先介绍Maven基础和组件化中的缓存策略,随后介绍组件化中SDK的合成方式,最后介绍如何将SDK发布到流通平台中。
第7章:架构模板。
本章介绍如何制定组件化多人开发规范。首先介绍自定义Android Studio的模板及组件化模板的制作,随后介绍注解提示的使用。
第8章:架构演进。
本章介绍Android工程架构的演进,包括线程工程架构、组件化基础架构、模块化架构、多模板架构,以及进程化架构的原理基础。让读者能对Android架构有更加深入的了解。
读者对象
本书适合以下学习阶段的读者阅读:
? Android进阶学习阶段;
? Android组件化学习阶段;
? Android架构初级学习阶段
? 移动端开发思维哲学学习阶段。
致谢
感谢父母对我的思想启蒙的培育;感谢我的妻子丸子对我写作的鼓励和生活的照顾;感谢我曾经就职的广州三星和现在在职的欢聚时代。感谢Android组件化架构QQ群中的映客科技King、搜狐56夜闪冰、RetroX、亚伦,以及各位同学对我出版书籍内容上的建议。
勘误和互动
如果读者发现本书中文字、代码和图片的信息存在错误或者纰漏,欢迎反馈给我。若是对书中内容或者Android组件化架构存在疑问,可以在我的简书、掘金、QQ群中与我互动,届时会在这些平台发布勘误的信息,并欢迎各位读者的提问和建议。
QQ群:316556016
简书:http://www.jianshu.com/u/cd0fe10b01d2
掘金:https://juejin.im/user/565c6d3100b0acaad47e9050
GitHub:https://github.com/cangwang
苍王
这本书的标题是《Android组件化架构》,我迫不及待地想深入了解它。我一直在关注Android开发领域的最新趋势,组件化无疑是当前最热门的话题之一。我看到许多大型项目在采用组件化,这带来了诸多好处,比如提高代码复用率、团队协作效率,以及更灵活的模块管理。我期望这本书能够详细解析组件化架构的设计思路,从最基础的概念讲起,逐步深入到高阶的实践应用。我特别想知道,在实际项目中,如何有效地进行模块划分,选择合适的通信机制(如EventBus、AIDL、ContentProvider等),以及如何处理模块间的依赖关系。另外,对于组件化带来的测试挑战,作者是否有独到的见解和解决方案,比如如何进行单元测试、集成测试,以及如何保证各个组件的独立性和稳定性。我也很关心书中会介绍哪些主流的组件化框架,比如ARouter、ModulePlugin等,它们各自的优缺点是什么,在什么场景下更适合使用。希望这本书能提供丰富的代码示例,让我能够边学边练,真正掌握组件化开发的精髓,从而提升我正在负责的Android项目的架构水平。
评分坦白说,《Android组件化架构》这本书的封面设计并没有特别吸引我,但内容却让我惊喜连连。我之所以选择它,是因为我的团队在经历了几次大型项目重构后,对组件化架构的实施效果始终不太满意,希望这本书能提供一些新的思路。这本书中最令我印象深刻的是“组件化最佳实践”这一章节,作者通过分析多个开源项目和实际案例,总结出了切实可行的组件化落地经验。他强调了“定义清晰的组件协议”的重要性,并提供了多种协议设计模式的对比。我还对书中关于“组件化与MVVM/MVI架构模式的融合”的讲解很感兴趣,作者详细说明了如何在组件化框架下,结合MVVM或MVI模式,实现更优雅的数据管理和UI更新。此外,书中关于“组件化项目的持续集成与持续交付(CI/CD)”的实践指导,对于提升团队的开发效率和代码质量有着非常重要的意义。这本书的优点在于,它非常接地气,理论与实践相结合,让我感觉作者是真正从开发者角度出发,解决实际问题,而不是纸上谈兵。
评分我是一名Android初学者,在学习过程中,我发现项目越来越大,代码也变得越来越难以管理。偶然间,我看到了《Android组件化架构》这本书,尽管我担心里面的内容对我来说会过于高深,但还是抱着学习的心态购买了。出乎意料的是,这本书的开篇部分非常友好,用大量的比喻和简单的例子,解释了组件化的基本概念,让我这个新手也能快速理解。作者并没有上来就讲复杂的框架,而是先从“为什么需要组件化”这个最根本的问题入手,然后逐步引出“如何拆分模块”、“模块之间如何通信”等核心问题。我非常喜欢书中关于“模块边界”的设计原则,它让我明白了一个好的组件化设计,不仅仅是代码的拆分,更是清晰的职责划分和低耦合的体现。此外,书中还提供了一些关于“模块化开发中的常见坑”的提醒,这对我避免走弯路非常有帮助。虽然有些章节我还在消化中,但总体而言,这本书为我打开了一扇新的大门,让我看到了构建大型、可维护Android项目的美好前景。
评分我最近入手了《Android组件化架构》这本书,虽然我还没有完全看完,但已经从中受益匪浅。这本书的优点在于,它不仅仅是理论的堆砌,而是充满了大量的实践指导和作者个人的经验总结。我尤其欣赏书中对于“为什么要做组件化”的深刻剖析,它让我从战略层面理解了组件化的必要性,而不是盲目跟风。在具体的实践层面,作者对不同组件化方案的优劣势做了非常细致的对比,这对于我选择适合自己团队的技术路线提供了极大的帮助。比如,书中对ARouter的深入讲解,不仅涵盖了其基本用法,还详细介绍了路由表的生成、拦截器的设计、以及如何处理页面跳转的各种异常情况。此外,我对书中关于“动态加载”和“插件化”的章节特别感兴趣,虽然这部分内容相对复杂,但作者用通俗易懂的语言和清晰的逻辑将其阐述清楚,让我对这些高级技术有了初步的认识。我认为,这本书对于想要从“大泥球”模式跳出来的开发者来说,是一本不可多得的参考资料,它能够帮助我们建立起更清晰、更可维护的Android项目架构。
评分我最近一直在思考如何优化我负责的Android项目架构,听闻《Android组件化架构》这本书,便立刻购入。这本书的内容给我留下了深刻的印象,尤其是作者在“模块化与微服务化”的结合上的一些思考,让我眼前一亮。书中不仅仅停留在Android应用层面的组件化,还涉及到更宏观的系统设计理念,比如如何将组件化思想延伸到后端服务,如何通过API网关进行统一管理,以及如何实现跨平台组件的复用。我特别欣赏书中关于“解耦与依赖管理”的章节,它详细阐述了如何利用Maven/Gradle等工具来管理模块间的依赖,如何避免循环依赖,以及如何构建一个清晰的依赖图谱。对于大型团队协作,书中提出的“版本管理策略”和“发布流程自动化”也提供了非常有价值的参考。此外,作者对“组件化性能优化”的探讨,如内存优化、启动速度优化等,也让我受益匪浅。这本书的深度和广度都超出了我的预期,它不仅是Android组件化开发的指南,更是一本关于软件架构设计的思想启迪之作。
评分做活动买的书,买来翻翻看,很便宜
评分很好的进阶书籍,看后能很好的理解组件化开发
评分不好
评分非常一般,堆砌开源项目,附带一些简单的源码分析。既不适合新手入门,也没什么干货,书名噱头大于实际。
评分不错打折买的比较优惠,努力学一遍哈哈哈哈哈哈哈加油
评分挺好的,能学到一些东西……
评分好,京东方便快捷
评分很好的进阶书籍,看后能很好的理解组件化开发
评分不错打折买的比较优惠,努力学一遍哈哈哈哈哈哈哈加油
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有