无法解析:androidx.compose ..1.4.0.



根据最新的https://developer.android.com/jetpack/androidx/releases/compose-kotlin

我们可以使用

  • 编译器版本- 1.4.0
  • 兼容Kotlin版本- 1.8.0

然而,在升级到1.4.0和kotlin 1.8.0之后,我得到了下面的错误

我得到了这个错误

Failed to resolve: androidx.compose.ui:ui-tooling:1.4.0
Failed to resolve: androidx.compose.ui:ui-test-manifest:1.4.0
Failed to resolve: androidx.compose.ui:ui:1.4.0
Failed to resolve: androidx.compose.ui:ui-tooling-preview:1.4.0
Failed to resolve: androidx.compose.ui:ui-test-junit4:1.4.0

我错过什么了吗?

是的,androidx.compose.ui包中用于撰写1.4.0版本的库尚未发布。

这些库的最新版本是1.4.0-alpha04。您可以在此页查看版本

撰写编译器和其他撰写依赖有不同的版本。
目前只有compose.compiler1.4.0稳定。

为了避免这种问题,你有不同的选择:

使用BOM

撰写物料清单(BOM)允许您通过仅指定BOM的版本来管理所有撰写库版本。BOM本身具有到不同Compose库的稳定版本的链接,这样它们就可以很好地协同工作。
今后,Compose库将独立进行版本控制,这意味着版本号将开始以自己的速度递增。

在这里你可以找到更多关于BOM的信息。

buildscript {
ext {
compose_compiler = '1.4.0'  //compiler
}
//...
}
composeOptions {
kotlinCompilerExtensionVersion compose_compiler
}
dependencies {
// Import the Compose BOM
implementation platform('androidx.compose:compose-bom:2022.12.00')
//....
}

或者在构建脚本中使用不同的版本:

buildscript {
ext {
compose_compiler = '1.4.0'  //compiler
compose_version = '1.3.x'   //compose dependencies
compose_material3 = '1.0.1' //material3 release
}
//...
}

然后:

composeOptions {
kotlinCompilerExtensionVersion compose_compiler
}
dependencies {
// compose releases (1.3.x)
implementation "androidx.compose.material:material:$compose_version"
//... 
//material3
implementation "androidx.compose.material3:material3:$compose_material3"
}

不要忘记在模块构建中导入BOM。Gradle (app module)

val composeBom = platform(libs.androidx.compose.bom)
implementation(composeBom)
androidTestImplementation(composeBom)

显然,compose版本和composecomcompiler版本是不同的。

目前,撰写版本在1.4.0-alpha04

buildscript {
ext {
compose_ui_version = '1.4.0-alpha04'
}
}

composeccompiler现在是1.4.0

android {
...
composeOptions {
kotlinCompilerExtensionVersion '1.4.0'
}
}

最新更新