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

升级Jetpack Compose/Gradle遇阻:无法添加LazyHorizontalGrid求正确方法

正确升级Jetpack Compose与Gradle的步骤

LazyHorizontalGrid是从Jetpack Compose 1.2.0版本开始引入的,升级时必须严格遵循版本绑定规则(Compose、Kotlin、Gradle插件三者强关联),乱升必然导致构建崩溃。下面是分步操作的正确流程:

1. 先确认版本对应关系

Compose版本和Kotlin、Gradle插件版本是强绑定的,必须匹配才能正常构建,举几个常用稳定版组合:

  • Compose 1.2.x → Kotlin 1.7.x + Gradle插件7.2+
  • Compose 1.5.x → Kotlin 1.9.x + Gradle插件8.0+
  • Compose 1.6.x → Kotlin 1.9.20 + Gradle插件8.2+

2. 分步升级(从底层到上层)

第一步:升级Gradle插件与Gradle Wrapper

修改项目根目录的build.gradle(或build.gradle.kts)中的Gradle插件版本:

// Groovy写法
buildscript {
    dependencies {
        classpath "com.android.tools.build:gradle:8.1.0" // 对应Compose 1.5.x稳定版
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
    }
}

同时修改gradle/wrapper/gradle-wrapper.properties中的Gradle版本,和插件版本匹配:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip

第二步:用Compose BOM统一管理依赖版本

在模块级(通常是app模块)的build.gradle中,先引入Compose BOM,这样所有Compose依赖会自动使用匹配的版本,避免版本不一致:

dependencies {
    // 引入Compose BOM,统一管理所有Compose依赖版本
    implementation platform("androidx.compose:compose-bom:2023.08.00")
    
    // 基础Compose依赖,无需写版本号
    implementation "androidx.compose.ui:ui"
    implementation "androidx.compose.ui:ui-tooling-preview"
    implementation "androidx.compose.material3:material3"
    // LazyHorizontalGrid在foundation库中,必须引入
    implementation "androidx.compose.foundation:foundation"
    
    debugImplementation "androidx.compose.ui:ui-tooling"
}

第三步:同步并验证

点击IDE的"Sync Project with Gradle Files"按钮同步项目,同步完成后优先解决版本不兼容类报错(比如提示Kotlin版本与Gradle插件不匹配,就调整到对应版本)。

3. 升级后常见问题处理

  • AGP版本不兼容报错:对照版本对应表调整Gradle插件和Gradle Wrapper版本,确保两者匹配。
  • Kotlin语法报错:Kotlin版本升级后部分旧语法可能被废弃,比如旧协程launch写法、Composable函数参数标注,按IDE提示修改即可。
  • 资源冲突或缓存问题:执行File → Invalidate Caches → Restart清理IDE缓存,然后重新构建项目。

内容的提问来源于stack exchange,提问作者Sebastian Bach

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:01:18