Gradle找不到Android Compose编译器

时间:2020-10-15 18:21:00

标签: android android-gradle-plugin android-jetpack-compose

这个问题让我很困惑。我的gradle文件中有以下几行:

implementation "androidx.compose.runtime:runtime:1.0.0-alpha04"
implementation "androidx.compose.compiler:compiler:1.0.0-alpha04"
implementation "androidx.compose.runtime:runtime-rxjava2:1.0.0-alpha04"

但是,在构建时,出现以下错误:

Could not determine the dependencies of task ':app-name-omitted:prepareDebugKotlinCompileTask'.
> Could not resolve all task dependencies for configuration ':app-name-omitted:kotlin-extension'.
   > Could not find androidx.compose:compose-compiler:1.0.0-alpha04.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/androidx/compose/compose-compiler/1.0.0-alpha04/compose-compiler-1.0.0-alpha04.pom
       - https://repo.maven.apache.org/maven2/androidx/compose/compose-compiler/1.0.0-alpha04/compose-compiler-1.0.0-alpha04.pom
       - https://jcenter.bintray.com/androidx/compose/compose-compiler/1.0.0-alpha04/compose-compiler-1.0.0-alpha04.pom
     Required by:
         project :app-name-omitted

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

对此我感到困惑,因为编译器确实存在于Google的仓库中:https://maven.google.com/web/index.html#androidx.compose.compiler:compiler

如有必要,我可以发布更多信息,但我想保持简单。即使compose的设置完全不正确,为什么仍然找不到POM文件?

5 个答案:

答案 0 :(得分:4)

发生同样的问题,并将gradle版本更新为

后已解决
classpath "com.android.tools.build:gradle:4.2.0-alpha14"

,而不是在composeoptions中声明编译器版本kotlinCompilerExtensionVersion,而是作为依赖项进行了标贴

implementation "androidx.ui:ui-tooling:$compose_version"
implementation "androidx.compose.runtime:runtime:$compose_version"
implementation "androidx.compose.compiler:compiler:$compose_version"

答案 1 :(得分:2)

我遇到了一个非常相似的问题,但是在 IntelliJ IDEA 中运行 Android 项目时,而不是在 Android Studio 中。

我似乎升级 com.android.tools.build:gradle 依赖项确实解决了原始问题(“Gradle 找不到 Android Compose Compiler”),但后来我开始使用 other problems,所以不得不另寻他法。

>

我使用了 IDEA 的新项目向导,然后选择了 Kotlin,然后选择了“Multiplatform”(在 Jetpack Compose for Desktop 组下)。这创建了一个包含 Android 模块、桌面模块和通用模块的新项目。从这个模板中,我基本上将 Android 和 Common 模块的设置方式复制到了我原来的 Android 项目中。

主要区别在于 JetBrains 似乎提供了一个(又一个)Gradle 插件(org.jetbrains.compose),它为我们设置 Compose(我猜是因为一些更改也支持桌面),并且使用这个插件,似乎一切正常,“Gradle 找不到 Android Compose 编译器”消失了。

这是新项目模板中使用的插件:

id("org.jetbrains.compose") version "0.3.0"

这是添加 Compose 依赖项的方式:

api("androidx.core:core-ktx:1.3.2")

api(compose.runtime)
api(compose.foundation)
api(compose.material)
api(compose.ui)

implementation("androidx.activity:activity-compose:1.3.0-alpha03")

请记住,我不一定在这里使用桌面,至少现在不是,但这是我可以使 Android 应用程序与最新(2021+)版本的 Compose 一起使用的唯一方法,仅使用 IDEA(不是Android Studio) 安装。

答案 2 :(得分:0)

对于撰写编译器版本1.0.0-alpha04,我们应该使用Android Studio 4.2 Canary 13及更高版本

从官方网站reference

注意:Compose版本1.0.0-alpha04仅与Android兼容 Studio 4.2 Canary 13及更高版本。

答案 3 :(得分:0)

我必须升级我的Gradle版本:

library(sf)
pt.df   <- data.frame(pt = 1, x = 20, y = 20)
pt.sf   <- st_as_sf(pt.df, coords = c("x", "y")) 
get_area <- function(nq) {
  circle1 <- st_buffer(pt.sf, dist = sqrt(100 / pi), nQuadSegs=nq)
  st_area(circle1)
}
sapply(c(30,100,300,1000), get_area)
## [1] 99.95431 99.99589 99.99954 99.99996

答案 4 :(得分:0)

21 年 3 月 27 日

<块引用>

Jetpack Compose 是一项预览功能,仅在 Canary 版本的 Android Studio 中包含对 Compose 的支持。要在您的应用项目中使用 Compose,请下载并安装最新的 Canary 版本的 IDE。


如果您使用 Canary,只需使用 "window.zoomLevel": 0, "editor.fontSize": 14,

添加编译器

build.gradle

composeOptions

compose.compiler