我有一个 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 定义的版本?