Android gradle:无法解析:androidx.compose.material3:material3 使用 lib.versions.toml 中的 BOM

问题描述 投票:0回答:0

我有一个 android(撰写)项目,其中包含一个用于版本目录的 libs.versions.toml。

在这个.toml中,我声明了一个组合BOM和一些库,如下所示:


[versions]
ksp = "1.9.10-1.0.13"
...
androidxComposeBom = "2023.10.01"

[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
...
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3"}
androidx-compose-material3-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class" }

当我这样做时,我收到错误“无法解析:androidx.compose.material3:material3”和“无法解析:androidx.compose.material3:material3-window-size-class”。

我只在material3库上收到错误,而不是“ui”或其他在BOM中拥有其版本的错误

如果我指定如下版本,它就可以工作:


[versions]
material3VersionHack = "1.1.2"

[libraries]
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "material3VersionHack"}

但这违背了 BOM 的目的:避免指定每个版本...

根据 https://developer.android.com/jetpack/compose/bom/bom-mapping,material3 是使用 BOM 1.1.2 版本定义的 2023.10.01 那又怎样?

=> 为什么我需要手动指定material3的版本?有没有办法依赖当前 BOM 定义的版本?

android android-gradle-plugin android-jetpack-compose
© www.soinside.com 2019 - 2024. All rights reserved.