You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Android Studio与Gradle后使用Clickable Modifier出现Jetpack Compose编译错误

解决Android Studio Arctic Fox Canary 5 + Gradle 7.0.0-alpha05下Jetpack Compose Clickable Modifier构建错误

问题背景

你在升级到Android Studio Arctic Fox | 2020.3.1 Canary 5并将Gradle更新到7.0.0-alpha05后,项目构建时触发了java.lang.AssertionError: No such type argument slot: 1的错误,且确认是Jetpack Compose的clickable Modifier导致的——注释Compose相关代码后项目就能正常构建。

问题根源

这个错误属于版本兼容性问题:新版本的Kotlin IR(中间表示)结构发生了变化,而当前使用的Jetpack Compose编译器插件未能适配这种变化,在处理clickable修饰符的Lambda表达式时,尝试访问了不存在的类型参数槽,最终触发了断言错误。

可行解决方案

1. 升级到兼容的Jetpack Compose版本

Compose与Kotlin、Gradle、Android Studio版本强绑定,针对你的环境,推荐使用Compose 1.0.0-beta07及以上版本,同时搭配Kotlin 1.4.32(这是Compose 1.0.0-beta07要求的匹配Kotlin版本)。

  • 更新项目级build.gradle的依赖:
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.0-alpha05"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32"
        classpath "androidx.compose:compose-compiler:1.0.0-beta07"
    }
}
  • 更新模块级build.gradle的Compose依赖:
dependencies {
    // Compose核心依赖
    implementation "androidx.compose.ui:ui:1.0.0-beta07"
    implementation "androidx.compose.material:material:1.0.0-beta07"
    implementation "androidx.compose.ui:ui-tooling:1.0.0-beta07"
}

2. 临时禁用Compose的Lambda Memoization优化

如果暂时无法升级Compose版本,可以通过添加编译参数绕过这个错误(注意:该操作会关闭Compose对Lambda的缓存优化,可能带来轻微的性能影响):

在模块级build.gradle的kotlinOptions中添加参数:

android {
    ...
    kotlinOptions {
        freeCompilerArgs += [
            "-P",
            "plugin:androidx.compose.compiler.plugins.kotlin:noLambdaMemoization=true"
        ]
    }
}

3. 暂时降级到稳定版本组合

如果上述方案都不生效,可以考虑暂时降级到经过验证的稳定版本组合,比如:

  • Android Studio 4.2.x + Gradle 6.7.1 + Jetpack Compose 1.0.0-beta06
    等Arctic Fox正式版或Compose后续更新修复该兼容性问题后,再重新升级。

内容的提问来源于stack exchange,提问作者David Ibrahim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 06:22:29