AGP 支持正式版 Compose 的最低版本

简介: AGP 支持正式版 Compose 的最低版本

之前写了一篇 《Compose 与 AGP、KGP 的关系》的文章,其中我说了这么一段话:


其实,AGP 对 Compose 的影响仅仅只作用于 TaskManager 中是否有无添加 compose-compiler 依赖,如果 AGP 有,则 Compose 与 AGP 版本无关。所以,大家如果想了解自己老项目是否能直接接入 Compose ,可以看下自己项目的 AGP 版本,然后看下这个版本的 TaskManager 源码,目前我查看的 AGP 4.1.0 版本是有的。笔者的项目是 4.2.2 的 AGP ,已成功接入 Compose 1.1.0 版本并跑起来


这段话中描述 AGP 4.1.0 支持 Compose 有点用词不准确,我先说下结论 : AGP 4.1.0 是支持 Compose 的,但 Compose 的正式版本是从 AGP 4.2.0 开始支持的

在我发掘  AGP 4.1.0 版本的 TaskManager 类时发现:


image.png

如果不仔细看的话真的发现不了问题,你看 compose-compier 这个依赖的 group 是 androidx.compose,然后去官方文档看下 compose-compiler 依赖的 group :

image.png

怎么变成了 androidx.compose.compiler 了,然后我去 mvnrepository 上看了下 androidx.compose:compose-compiler 发布的有哪些版本:


image.png


最高的版本止步于  1.0.0-alpha03 版本,这也太坑了,这也就说明,我在上篇文章中说的通过 composeOptions 来配置 Compose 不同的正式版本在 AGP 4.1.0 及其以下是没有作用的。


然后说下我是怎么发现这个问题的,我在依赖 AGP 4.1.0 版本看源码时,突然想看下  Compose-Compiler 的源码,然后为了好复制,我就直接把  TaskManager 类中配置 Compose-Compiler 的依赖给复制了过来,在 build.gradle 中我给配置了个 1.2.0 版本,然后怎么配置版本都无法把依赖下载下来,我就去官方文档复制了个 Compose-Compiler 版本,然后对比一看,居然依赖的 Group 不一样,然后我就赶紧对比了下 AGP 4.2.0 版本是没问题的,这时确定,AGP 4.1.0 配置的 Compose-Compiler 不是正式版的依赖。

目录
相关文章
|
缓存 API Android开发
Android 应用优化策略:提升性能与用户体验
【4月更文挑战第21天】在移动应用开发领域,性能优化是一个持续的挑战。尤其对于Android平台,由于设备多样性和系统版本的碎片化,开发者需要采取多种策略确保应用流畅运行并给用户带来良好体验。本文将深入探讨针对Android应用的性能优化技巧,包括内存管理、UI渲染效率提升、多线程应用以及电池寿命优化等方面。这些建议旨在帮助开发者诊断和改进现有应用,或在开发新项目时提前考虑到性能因素。
|
SQL 分布式计算 NoSQL
【SQL 审核查询平台】Archery使用介绍
【SQL 审核查询平台】Archery使用介绍
946 0
【SQL 审核查询平台】Archery使用介绍
|
算法 前端开发
钉钉文档协同编辑背后的核心技术原理
有人说,互联网给人类社会带来最深层次的变革是改变了人与人协作的方式,将信息传播的成本大幅降低。身在互联网行业之中,研究信息传播的方式方法,是我们的日常功课。
钉钉文档协同编辑背后的核心技术原理
|
存储 机器学习/深度学习 算法
Adam-mini:内存占用减半,性能更优的深度学习优化器
论文提出一种新的优化器Adam-mini,在不牺牲性能的情况下减少Adam优化器的内存占用。
462 10
Adam-mini:内存占用减半,性能更优的深度学习优化器
|
数据管理 API 数据库
探索Android Jetpack:现代安卓开发的利器
Android Jetpack是谷歌为简化和优化安卓应用开发而推出的一套高级组件库。本文深入探讨了Jetpack的主要构成及其在应用开发中的实际运用,展示了如何通过使用这些工具来提升开发效率和应用性能。
|
Linux iOS开发 异构计算
Ollama完成本地模型的运行
# Ollama完成本地模型的运行
3635 8
Ollama完成本地模型的运行
|
Dubbo 应用服务中间件 微服务
分布式事物【Hmily实现TCC分布式事务、Hmily实现TCC事务、最终一致性分布式事务解决方案】(七)-全面详解(学习总结---从入门到深化)(上)
分布式事物【Hmily实现TCC分布式事务、Hmily实现TCC事务、最终一致性分布式事务解决方案】(七)-全面详解(学习总结---从入门到深化)
222 1
|
存储 编解码 文件存储
Windows 中的硬链接、目录联接(软链接)、符号链接、快捷方式
【10月更文挑战第5天】本文介绍了四种链接类型的概念及用途:硬链接允许通过多个入口访问同一文件内容,适用于不复制文件的情况下提供多处访问;软链接(目录联接)用于创建目录间的虚拟映射,可跨越文件系统;符号链接则更为灵活,可链接文件或目录并指向任意路径;快捷方式则是Windows中常用的一种特殊文件类型,便于快速访问程序、文件或网络资源。分别描述了它们的定义、工作原理、特点以及创建方法。
3265 10
|
人工智能 测试技术 UED
通义万相文本绘图
阿里云的通义万相是AI文本绘图和人像美化工具,适用于内容创作等多领域。评估其竞争力需考虑成本效益、易用性和应用场景。试用、部署、性能测试和用户反馈是选择的关键步骤。若在成本、用户体验和功能上表现优秀,可推荐给团队。
|
Java Android开发 数据安全/隐私保护
Android中多进程通信有几种方式?需要注意哪些问题?
本文介绍了Android中的多进程通信(IPC),探讨了IPC的重要性及其实现方式,如Intent、Binder、AIDL等,并通过一个使用Binder机制的示例详细说明了其实现过程。
884 4