atlas 项目介绍 | 学习笔记

简介: 简介:快速学习 atlas 项目介绍

开发者学堂课程【开源 Android 容器化框架 Atlas 开发者指南: atlas 项目介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/392/detail/5017


atlas 项目介绍


Atlas 是阿里巴巴集团开源的一块容器化框架,内容大概分为四个部分。

第一部分:Atlas 的介绍,Atlas 是什么?Atlas 能做什么? Atlas 的开源地址,以及我们的联系方式 。

第二部分:基础知识的准备,我们要学习 Atlas 框架原理,需要一些基础知识的储备 。

第三部分: Atlas Demo 工程的讲解,如何使用 Atlas ,如何配置,运行以及各模块之间的关系。

第四部分: Atlas 原理的介绍。


一:atlas 的介绍

1. Atlas 是什么?

Atlas 是伴随着手机淘宝的不断发展而衍生出的一个运行于 Android 系统上的一个容器化框架,我们也叫动态组件化框架。

它主要提供了解耦化、组件化、动态性的支持。覆盖了工程师的工程编码期、Apk 运行期以及后续运维期的各种问题。为什么会出现 Atlas 框架呢?

随着客户端功能的逐渐丰富,代码量、模块量的上升,经常会遇到由于模块相互依赖、模块编译问题等原因造成的整个应用无法打包,影响开发效率,无法按期上线。

由于功能的快速迭代,版本推送间隔的缩小,频繁提示用户升级的做法,造成不好的用户体验和升级率的降低。

Atlas 框架很好地解决了这两个问题。在工程期,可以实现工程的独立开发,独立调试,不再依赖开发期整个客户端不稳定的代码,做到模块的独立。在运维期,通过动态部署的方式提供快速增量的更新修复能力,快速升级,提升用户体验和版本升级效率。

2. Atlas 能做什么

1) 工程模块的独立加载和运行( Atlas 框架能将模块从整包中解耦)

2) 及时上线新需求、快速迭代 (可以通过动态部署的方式,快速上线需求,并且升级率远高于 apk 版本的推送更新。)

3) 业务灰度与技术灰度的快速验证(一些新功能,新技术的尝试,在开发测试同学验证过后,可以通过独立灰度的方式推送给少量用户进行验证。并且验证后可以版本回滚。但是这个灰度需要平台的支持,开源框架的使用需要配合公司的灰度平台进行二次开发。)

4) 动态修复线上故障 (通过Atlas框架生成补丁推送给用户,在不更新版本的情况下快速修复现场故障。)

5) 有问题及时回滚。(回滚是针对动态部署的版本进行的操作,可以将用户的功能回滚到安装 apk 时的版本。)

以上几点多数是通过动态部署完成的

动态部署的概念

动态部署是将两个 apk 的差量推送给用户,完成功能更新的一个过程。

动态部署与原有的 apk 更新策略相比,是一种相对比较轻量化的更新策略,不需要用户下载整个 apk ,只需要下载差量部分的内容来达到更新的效果。

同时也可以静默地完成更新过程,两者相结合,可以使动态更新的生效率远高于普通的升级策略。

3. Atlas 开源地址,

打开的 github 网站

image.png

Atlas 框架是阿里巴巴 group 下面的一个工程,

Atlas-aapt 是基于官方资源打包插件 aapt 进行修改后的版本。主要修改资源段的自定义部分。

Atlas-core 是 Atlas 框架运行时的核心库,负责主件的校验、安装、加载、运行、负责框架运行时的支持以及回滚的知识。

atlas-Demo 这个项目是 Atlas 作者开发的一个 demo ,里面包含了 Alas 的一些基础用法以及配置,这个项目后面会给大家比较详细的介绍。

atlas-docs ,就是文档 atlas-gradle-plug in 这个项目是基于 gradle 的构建插件,也就是我们打包所用的插件,里面包含 apk 打包、动态部署打包以及差量文件生成的逻辑。

atlas-update 这个模块儿是负责将差量文件与原有 apk 安装时的组件进行代码和资源的合并。差量文件的远程下载功能,可以在这个项目里进行二次封装,

相关文章
|
29天前
|
人工智能 监控 安全
2025年国内主流数据治理与数据中台产品大全,国内数据治理厂商推荐
在数字化转型加速的背景下,数据治理与数据中台成为企业释放数据价值的关键。本文聚焦国内市场,精选10款代表性产品——包括瓴羊Dataphin、腾讯WeData、华为DataArts Studio、字节Dataleap、网易数帆EasyData、奇点云DataSimba、袋鼠云DTinsight、亚信AISWare DataOS、星环TDS和数澜Datahub,从核心能力、架构特点与适用场景等维度进行解析。这些产品各具优势,文章建议企业结合自身规模、业务特性与技术基础,选择匹配的数据平台,以实现数据驱动的高质量发展。
2025年国内主流数据治理与数据中台产品大全,国内数据治理厂商推荐
|
8月前
|
前端开发 JavaScript Java
相亲交友丨婚恋交友丨语音视频聊天社交软件平台系统开发模式规则
本简介概述了相亲交友、婚恋交友及语音视频聊天社交软件平台的开发要点。目标用户聚焦适龄单身人士,涵盖不同性别、地域和婚姻状况。功能需求包括注册登录、个人信息展示、智能匹配、聊天互动等,同时注重安全性与隐私保护,如实名认证和隐私设置。技术架构涉及前端(HTML5、React等)、后端(Node.js、Spring Boot等)及数据库(MySQL、MongoDB等)。开发流程包含需求分析、设计开发、功能测试、性能与安全测试。上线后需持续运营优化,确保用户体验与市场竞争力。
|
5月前
|
算法 搜索推荐 Java
Java中的Collections.shuffle()方法及示例
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,支持原地修改。可选传入自定义 `Random` 对象以实现结果可重复,适用于抽奖、游戏、随机抽样等场景。
225 0
|
存储 缓存 JSON
详解HTTP四种请求:POST、GET、DELETE、PUT
【4月更文挑战第3天】
72200 5
详解HTTP四种请求:POST、GET、DELETE、PUT
|
Android开发 Windows
mac下Android Studio 快捷键(持续更新)
mac下Android Studio 快捷键(持续更新)
791 1
|
人工智能 自然语言处理 算法
揭秘AI写作助手:技术原理与应用实践
在数字化浪潮的推动下,人工智能(AI)正逐步渗透到我们工作和生活的方方面面。本文将深入探讨AI写作助手的技术原理及其在不同场景的应用实例,旨在揭示这项技术如何助力内容创作、提升效率和质量。通过分析其背后的算法、数据处理方式以及实际运用效果,读者可以获得对AI写作工具更全面的认识,并了解如何利用这些工具优化自身的写作流程。
|
存储 NoSQL Java
教程:Spring Boot与RocksDB本地存储的整合方法
教程:Spring Boot与RocksDB本地存储的整合方法
|
网络安全
openstack 使用ssh远程管理云主机
在阿里云平台上,为云主机分配和配置浮动IP涉及以下步骤:首先,在“网络”部分分配一个公共IP,并将其关联到已创建的云主机。接着,在“浮动IP”页面确认绑定成功。然后,进入安全组,为默认安全组添加允许ping和SSH的新规则。通过控制台ping浮动IP以测试连通性。最后,从宿主机修改云主机的hostname并使用SSH登录。至此,SSH登录设置完成。
404 2
openstack 使用ssh远程管理云主机
|
开发者
备考两年,关于软考的经验都在这了
本文分享了作者备考软考两年的一些学习经验,并配有知识点的思维导图,期望能对各位备考同学有所帮助。
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 创建目录 mkdir 命令使用指南
【Shell 命令集合 磁盘管理 】Linux 创建目录 mkdir 命令使用指南
576 0