手淘Native容器化框架发展和思考

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文PPT来自淘宝移动平台技术部的资深专家倪生华(花名:玄黎)于10月15日在2016年杭州云栖大会上发表的《手淘容器化框架Atlas实践》。

Atlas应用于几十个团队几百人App的协作中,拥有快速迭代能力,淘系大小型应用普遍采用,运行高稳定性。

手淘的Atlas框架主要提供了组件化、动态性、解耦化的支持。支持工程师在工程编码期、Apk运行期以及后续运维修复期的问题资源加载。

组件化实现:Manifest处理,类加载,按需加载,依赖仲裁,APK构建。

动态性实现:增量动态化方案,基于自研差量算法,实现动态部署,主Bundle基于classloader机制,业务Bundle基于差量merge,支持全业务类型;Andfix (plugin) 实现快速故障修复,基于Nativehook,主要做方法的修改。DexPatch生成,资源Patch生成,Activity新增。

周边优化点:

1.         Bundle重复资源合并

2.         Bundle依赖校验

3.         类库瘦身,方法数裁剪

4.         依赖查询库

5.         混淆Mapping处理

APK包结构、模块分层、容器设计图详见pdf:

0db51948b7983581cc314b2ca71e05cd52ac0c61

d94e0bbc21d10890448505e807f37da388ed5638

c1866aa6d84d05c0cc91ceeade0896f163b88ba7

3a488e88a176f8c4d4c56439dff61e7014f4a303

72fb46178b9486551b1aabad45cfedee4268ab34

d3ab9220b05a9309c7950e0874cd236caeb86307

5b0407ed41d5991fde3e12f88e4824a33554f10c

eb12f328824e9979c84315ee9f0911324c2b0d15

930782b5c9dfec3d9e8c8e4ddef1010afc074944

9c153893643f0d6295c64592b7947416724d9e0b

c683c25e336e01a50d4e0001070d91afcb7a7e67

fed6236e3dbb82bddd6fefc310d06bfe8ab72f6b

8a916dcdc06ddd81d47a2b524ac155447f79812b

5a8980353d6bb3c0b03e2c9cc6e77843c479f525

b22739f5ac673697ae48cfff6dbfa31f41360e9b

4d36e3e18276910c5f415fe194bde927716a2141


84df2135f05a59d8f18fdef08e3eeef8329b7721

897f94865f5743abe3f8999d605363dd1fa6cec1

6a3e6dc6fb20fbe78394139916baedb38df75fbb


8642b32cbd5315de7fdf4be84f409838fad73962

056f6f684cdbdcdbb5d80419349c539781bb3ae0

6ea726dfb1ec4f64d73f37c9fc3f0524c99dc58b

b0ce3aaf3b81ea0c461e55bd2c692bc1982c9f01

b5bad5b864a26c17b84cdbe3119d9247ea21ac4e

fe481ab4d4cd038dbc22ac996274fab0b8506715

cd4ea1a21ed1c91f67fbeebc4bfd7a3dfa1bc314

3e934d50eff048ebb2b06d2104b02521d54421b0

9acbc39ee8a3b6e8ccf4dc61fadb0ae890f81fe1

600425fdd07deae8e0f61c4094cbc918665238d6


相关文章
|
7月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Counter容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Counter容器组件
154 1
|
7月前
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RowSplit容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RowSplit容器组件
157 0
|
7月前
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ColumnSplit容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之ColumnSplit容器组件
91 0
|
7月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Column容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Column容器组件
135 0
|
7月前
|
Java 持续交付 Docker
微服务框架(二十一)Piplin 持续部署 Docker 容器
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。 本文为使用Piplin 持续部署 Docker 容器
|
7月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Flex容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Flex容器组件
201 5
|
7月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Row容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Row容器组件
135 1
|
7月前
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之FlowItem容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之FlowItem容器组件
110 1
|
7月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
634 0
|
7月前
|
Dubbo Java 应用服务中间件
微服务框架(七)Docker容器部署(Dubbo、Zookeeper、Dubbo-admin)
此系列文章将会描述Java框架**Spring Boot**、服务治理框架**Dubbo**、应用容器引擎**Docker**,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。   **本文为Docker容器部署,包括Dubbo微服务、Zookeeper、Dubbo-admin的部署**
微服务框架(七)Docker容器部署(Dubbo、Zookeeper、Dubbo-admin)
下一篇
无影云桌面