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 安装时的组件进行代码和资源的合并。差量文件的远程下载功能,可以在这个项目里进行二次封装,

相关文章
|
Windows
使用docsify生成静态网站和pdf epub等
docsify生成静态网站和pdf epub等
2353 0
|
3月前
|
人工智能 自然语言处理 API
阿里云百炼Token Plan订阅方案:支持多模型灵活切换,兼容主流AI工具,多档位套餐,包月预算可控
阿里云百炼Token Plan团队版是面向企业及开发者的多模态AI订阅服务,采用Credits统一计量,支持Qwen3.6、Wan2.7、GLM-5、DeepSeek-V4、Kimi K2.6等十余款主流模型,兼容Qwen Code、Claude Code、OpenClaw等热门AI工具。提供标准版(198/月)、高级版(698/月)、尊享版(1,398/月)三档坐席,配套共享用量包(5,000/62.5万Credits)供弹性补额。计费按Token实际消耗抵扣,无频次限制,承诺不使用用户数据训练模型,多租户隔离保障稳定运行,适用于团队协作、开发办公等场景。
|
算法 搜索推荐 Java
Java中的Collections.shuffle()方法及示例
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,支持原地修改。可选传入自定义 `Random` 对象以实现结果可重复,适用于抽奖、游戏、随机抽样等场景。
472 0
|
安全 数据建模 应用服务中间件
SSL证书怎么获得?获得后如何安装到服务器?
在当今互联网时代,SSL证书是保障网站安全的重要工具,实现HTTPS加密和身份认证,防止数据劫持或篡改,提升SEO效果。获取SSL证书需选择可信的CA机构、选择证书类型、生成CSR、验证域名及企业信息并获取证书。安装SSL证书到服务器(如Nginx)涉及上传证书文件、配置Nginx并重启服务。具体步骤可参考详细教程。 简介:SSL证书对网站安全至关重要,涵盖获取与安装流程,包括选择CA、生成CSR、验证信息、配置服务器等关键步骤。
|
人工智能 自然语言处理 算法
揭秘AI写作助手:技术原理与应用实践
在数字化浪潮的推动下,人工智能(AI)正逐步渗透到我们工作和生活的方方面面。本文将深入探讨AI写作助手的技术原理及其在不同场景的应用实例,旨在揭示这项技术如何助力内容创作、提升效率和质量。通过分析其背后的算法、数据处理方式以及实际运用效果,读者可以获得对AI写作工具更全面的认识,并了解如何利用这些工具优化自身的写作流程。
|
网络安全
openstack 使用ssh远程管理云主机
在阿里云平台上,为云主机分配和配置浮动IP涉及以下步骤:首先,在“网络”部分分配一个公共IP,并将其关联到已创建的云主机。接着,在“浮动IP”页面确认绑定成功。然后,进入安全组,为默认安全组添加允许ping和SSH的新规则。通过控制台ping浮动IP以测试连通性。最后,从宿主机修改云主机的hostname并使用SSH登录。至此,SSH登录设置完成。
557 2
openstack 使用ssh远程管理云主机
|
前端开发 JavaScript 数据管理
现代Web开发中的前端框架选择指南
选择合适的前端框架是现代Web开发中的关键决策之一。本文探讨了几种流行的前端框架,比较它们的特点和适用场景,帮助开发者在众多选项中做出理性的选择。
CATIA二次开发—遍历结构树
CATIA二次开发—遍历结构树
CATIA二次开发—遍历结构树
|
存储 Web App开发 安全
计算机软件的分类与功能
计算机软件的分类与功能
|
JavaScript 前端开发 中间件
Vue工具和生态系统:什么是Nuxt.js?它的特点是什么?
Vue工具和生态系统:什么是Nuxt.js?它的特点是什么?
616 0