implementation(platform(“androidx.compose:compose-bom:2023.03.00”))
implementation(“androidx.compose.ui:ui:1.5.3”)
我们先引入2023.03.00的BOM版本,然后在显式的添加compose.ui:1.5.3的依赖库,这是大家想一下会造成何种结果呢?此版本BOM清单中ui库对应的版本应该是1.4.0,会不会将我们需要的1.5.3直接忽视采用BOM对应的版本呢?答案是否的,在这种情况下Gradle会采用我们显式声明的ui库版本号,这样我们就既可以统一的管理Compose的版本信息,又不用过度受BOM的版本限制。下面是上述代码的依赖情况:
UI相关依赖版本号都变成了1.5.3,其余的还是保持BOM映射的版本号。
BOM所有版本
- androidx.compose.compose-bom-2022.10.00
- androidx.compose.compose-bom-2022.11.00
- androidx.compose.compose-bom-2022.12.00
- androidx.compose.compose-bom-2023.01.00
- androidx.compose.compose-bom-2023.03.00
- androidx.compose.compose-bom-2023.04.00
- androidx.compose.compose-bom-2023.04.01
- androidx.compose.compose-bom-2023.05.00
- androidx.compose.compose-bom-2023.05.01
- androidx.compose.compose-bom-2023.06.00
- androidx.compose.compose-bom-2023.06.01
- androidx.compose.compose-bom-2023.08.00
- androidx.compose.compose-bom-2023.09.00
- androidx.compose.compose-bom-2023.09.01
- androidx.compose.compose-bom-2023.09.02
- androidx.compose.compose-bom-2023.10.00
BOM版本映射关系
库组 | 版本 (2022.10.00) | 版本 (2022.11.00) | 版本 (2022.12.00) | 版本 (2023.01.00) | 版本 (2023.03.00) | 版本 (2023.04.00) | 版本 (2023.04.01) | 版本 (2023.05.00) | 版本 (2023.05.01)和 (2023.06.00) | 版本 (2023.06.01) | 版本 (2023.08.00) | 版本 (2023.09.00) | 版本 (2023.09.01) | 版本 (2023.09.02) | 版本 (2023.10.00) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
androidx.compose.animation:animation | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.animation:animation-core | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.animation:animation-graphics | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.foundation:foundation | 1.3.0 | 1.3.1 | 1.3.1 | 1.3.1 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.foundation:foundation-layout | 1.3.0 | 1.3.1 | 1.3.1 | 1.3.1 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.material:material | 1.3.0 | 1.3.1 | 1.3.1 | 1.3.1 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.material:material-icons-core | 1.3.0 | 1.3.1 | 1.3.1 | 1.3.1 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.material:material-icons-extended | 1.3.0 | 1.3.1 | 1.3.1 | 1.3.1 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.material:material-ripple | 1.3.0 | 1.3.1 | 1.3.1 | 1.3.1 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.material3:material3 | 1.0.0 | 1.0.1 | 1.0.1 | 1.0.1 | 1.0.0 | 1.0.1 | 1.0.1 | 1.0.1 | 1.1.0 | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.2 | 1.1.2 | 1.1.2 |
androidx.compose.material3:material3-window-size-class | 1.0.0 | 1.0.1 | 1.0.1 | 1.0.1 | 1.0.0 | 1.0.1 | 1.0.1 | 1.0.1 | 1.1.0 | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.2 | 1.1.2 | 1.1.2 |
androidx.compose.runtime:runtime | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.runtime:runtime-livedata | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.runtime:runtime-rxjava2 | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.runtime:runtime-rxjava3 | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.runtime:runtime-saveable | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-geometry | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-graphics | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-test | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-test-junit4 | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-test-manifest | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-text | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-text-google-fonts | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-tooling | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-tooling-data | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-tooling-preview | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-unit | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-util | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
androidx.compose.ui:ui-viewbinding | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.4.0 | 1.4.1 | 1.4.2 | 1.4.3 | 1.4.3 | 1.4.3 | 1.5.0 | 1.5.1 | 1.5.1 | 1.5.2 | 1.5.3 |
列举了BOM从第一个版本到目前最新版本的映射关系,后续BOM更新了我也会及时的将这张表格做响应的更新,希望小伙伴们喜欢哈~
写在最后
BOM在使用过程中还是比较容易上手的,也是极大程度上帮助开发者更轻松的管理Compose相关依赖信息,感兴趣的小伙伴们赶紧上手体验下吧~
Android 学习笔录
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年HarmonyOS鸿蒙开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上HarmonyOS鸿蒙开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!