Android组件化与插件化开发项目实战整理分享(含支付宝360美团滴滴等大厂项目实战)

Posted 陈京大帅比

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android组件化与插件化开发项目实战整理分享(含支付宝360美团滴滴等大厂项目实战)相关的知识,希望对你有一定的参考价值。

小公司不说,但是在大公司的项目发展到一定程度,就必须进行模块的拆分。模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在 android 开发的实践,目前有两种途径来实现,一个是组件化,一个是插件化。

关于组件化和插件化的入门学习这里就不做分享了,本次分享主要是给已经对组件化或插件化开发有了一定的基础掌握,需要进一步学习的同学,提供一些大厂项目实战案例。废话不多说,为了方便大家学习记录,已经分别整理成了220页(组件化实战)和167页(插件化实战)的PDF,项目demo地址也都记录在里面。

由于篇幅原因,以下就只给大家做一些截图分享,有需要PDF的同学,可以点击这里免费领取!

《Android组件化强化实战(附源码)》


第一章 Android组件化初识

1.组件化和模块化的区别
2.组件化和插件化的区别
3.组件化开发的优势
4.业务逻辑层
5.从组件化实战来解决问题
6.Android组件化基础

第二章 Android组件化初探

1.组件化演示案例

  • 模块化和组件化
  • 模块化
  • 组件化
  • 组件化Demo
  • 项目分析
  • 组件application和library动态切换
  • 组件间的数据传递和方法调用
  • 组件类(例如:Fragment)的获取,以及夸组件页面跳转和通讯

2.WanAndroid APP 组件化项目实战附demo

  • 简介
  • 版本更新
  • 效果图
  • 主要功能
  • 项目目录结构
  • 主要开源框架

第三章 架构演化(大厂篇)

1.从智行 Android 项目看组件化架构实践

  • 前言
  • 概述
  • 组件化调整的原因和目标
  • 组件化架构调整的整体规划
  • 组件化架构调整中遇到的一些问题
  • 组件化架构的实践成果

2.得到 App

  • Android彻底组件化demo发布
  • JIMU使用指南
  • 组件化拆分的感悟
  • Android彻底组件化—代码和资源隔离
  • 代码隔离
  • 资源隔离
  • 调试切换

3.微信 App

  • 微信Android模块化架构重构实践
  • 微信Android架构历史
  • 为何再次重构微信
  • 重塑模块化
  • 取舍和选择
  • 代码之外,架构之内

4.蘑菇街 App

  • 蘑菇街 App 的组件化之路
  • 实现方式
  • 组件生命周期管理
  • 壳工程
  • 遇到的问题
  • 持续集成
  • 周边设施
  • 小结

5 爱奇艺 App

  • 关于组件化
  • 基于Service的IPC通信
  • 组件化跨进程通信的核心诉求
  • Andromeda
  • 架构分析

6.美团 App

  • 外卖客户端容器化架构的演进
  • 背景
  • 美团外卖业务介绍
  • 美团外卖移动端历史架构概述

美团外卖容器化架构全景图

  • 什么是容器化架构
  • 容器化架构的优势
  • 外卖容器化架构全景图
  • 容器化的挑战
  • 外卖跨端容器建设
  • MRN容器
  • Titans容器

外卖页面容器建设

  • 页面容器化设计思路
  • 业务构建模块标准化
  • 小结

外卖容器化架构的衡量指标

  • 容器化架构衡量指标的特点
  • 链路指标
  • 关键指标
  • 外卖容器化架构的监控运维
  • 外卖容器化架构的发布能力
  • 容器化架构发布体系
  • 跟版本发布流程
  • bundle资源发布
  • 多种发布能力综合使用

7.美团Android组件化方案及组件消息总线modular-event实战

  • 背景
  • 组件化之前的状态
  • 组件化方案调研
  • 美团其他团队组件化方案调研
  • 组件化方案
  • 组件化消息总线框架modular-event
  • 组件消息总线modular-event的实现
  • 消息总线modular-event的结构
  • 使用动态代理实现运行时调用
  • 订阅和发送的模式

8.美团Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus

  • 背景
  • 发布/订阅模式
  • RxBus的出现
  • 引入LiveDataBus的想法
  • 为什么使用LiveData构建数据通信总线LiveDataBus
  • LiveDataBus的设计和架构
  • LiveDataBus最终实现

9.WMRouter:美团外卖Android开源路由框架

10.美团猫眼android模块化实战-可能是最详细的模块化实战

11.携程App(篇幅过长,无法展示全部)

12.支付宝 App

《Android从插件化强化实战(附源码)》


第一章 插件化技术的前世今生

第二章 插件化原理

1.类加载
2.双亲委托机制
3.资源加载
4.四大组件支持

5.ProxyActivity代理
6.hook方式
7.其他组件
8.Android动态加载框架DL的架构与基本原理解析
9.Android 插件化框架 DynamicLoadApk 源码分析

第三章 Android插件化初探

1.从零开始实现一个插件化框架(1)

  • 概念
  • 插件化解决的问题
  • 各插件化框架对比
  • 插件化实现
  • ClassLoader实现类

2.从零开始实现一个插件化框架(2)

  • Activity的启动流程
  • 寻找Hook点
  • 撸码阶段
  • 代理对象
  • 偷天换日,替换原来的Intent
  • ActivityThread
  • 将代理的intent替换回来
  • 注意

3.从零开始实现一个插件化框架(3)

  • 插件资源加载
  • Android中资源加载流程
  • ActivityManager
  • ActivityThread
  • AppCompatActivity
  • 总结

第四章 大厂架构演化

1.360插件开发之DroidPlugin

  • 插件开发之360 DroidPlugin源码分析
  • Hook机制类图关系
  • Hook机制的时序图关系
  • Manifest权限申请
  • 基类Hook做了什么?
  • ProxyHook
  • BaseHookHandle
  • HookedMethodHandler
  • ReplaceCallingPackageHookedMethodHandler
  • IO重定向
  • 递归遍历
  • 以IPackageManager为例
  • 插件开发之360 DroidPlugin源码分析之Binder代理

2.滴滴VirtualApk实战

  • 配置
  • 应用
  • 原理
  • 总结
  • 问题

3.基于VirtualAPK Android重构之插件化

  • Plug-in Hello World
  • 插件化框架的选择
  • 插件化原理
  • 引入插件化之痛
  • 总结

4.爱奇艺插件化原理分析之 Neptune框架

  • 插件化基础知识点
  • 类加载
  • 插件化中资源使用限制
  • Apk打包流程
  • 四大组件的插件化
  • Neptune源码分析
  • 插件Activity任务栈
  • 处理插件中的广播

5.360开源全面插件化框架RePlugin 实战

  • RePlugin 介绍
  • 宿主接入步骤
  • 插件接入步骤
  • 使用插架

6.腾讯插件化框架 Shadow项目解析

  • 框架简单介绍
  • 框架结构分析
  • sample 示例代码 AndroidManifest.xml 分析
  • Activity 实现
  • 替换插件 Activity 的父类
  • Service 实现
  • BroadcastReceiver 实现
  • ContentProvider 实现
  • 框架自身动态化
  • 总结

整理不易,如果领取笔记后,觉得对自己学习组件化和插件化有所帮助的话,别忘记回来点个赞支持下哦!

以上是关于Android组件化与插件化开发项目实战整理分享(含支付宝360美团滴滴等大厂项目实战)的主要内容,如果未能解决你的问题,请参考以下文章

2021最新Android知识体系总结,实战篇

Android 插件化“ 插桩式 “ 插件化框架 ( 运行应用 | 代码整理 )

Android 插件化插件化简介 ( 组件化与插件化 )

Android 插件化插件化简介 ( 组件化与插件化 )

Android 插件化Hook 插件化框架 ( 反射工具类 | 反射常用操作整理 )

Android 插件化“ 插桩式 “ 插件化框架 ( 代理 Activity 组件开发 )