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

适配Android SDK 31的Jetpack Compose依赖版本配置求助

适配Android SDK 31的Jetpack Compose依赖版本配置求助

我完全懂你这种头疼的情况——用最新版Android Studio创建低版本SDK的Jetpack Compose项目时,自动生成的依赖版本往往会和目标SDK不兼容,尤其是Compose的BOM(物料清单)版本对编译SDK有明确要求,你遇到的报错就是因为默认的BOM版本需要编译SDK33及以上,而你指定的是31。

下面给你一套经过验证的、适配SDK31的依赖配置方案,直接替换你的libs.version.toml内容即可:

[versions]
agp = "7.4.3"
kotlin = "1.8.21"
coreKtx = "1.9.0"
junit = "4.13.2"
junitVersion = "1.1.5"
espressoCore = "3.5.1"
lifecycleRuntimeKtx = "2.5.1"
activityCompose = "1.6.1"
composeBom = "2023.03.00"

[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }

关键调整说明:

  • AGP版本:把默认的8.11.0降到7.4.3,因为AGP 8.x系列要求编译SDK至少33,而7.4.x完美支持SDK31。
  • Kotlin版本:换成1.8.21,这个版本和Compose BOM 2023.03.00是严格匹配的(Compose和Kotlin版本绑定,必须对应)。
  • Compose BOM:使用2023.03.00,这个版本的Compose库支持最低SDK21,且编译SDK要求为31,完全符合你的需求。
  • 其他依赖:同步降低了lifecycle-runtime-ktx和activity-compose的版本,确保它们和AGP、Compose版本兼容。

额外检查步骤:

  1. 打开模块级的build.gradle.kts(或build.gradle),确认以下配置:
    android {
        compileSdk = 31
        defaultConfig {
            targetSdk = 31
            // 如果你的手机是Android12,minSdk可以设为31,或者更低(比如21)
            minSdk = 31
        }
    }
    
  2. 点击Android Studio右上角的Sync Project with Gradle Files按钮同步项目。
  3. 如果还是有缓存问题,执行File -> Invalidate Caches... -> Invalidate and Restart清理缓存后重启AS。

这样调整后,你的项目应该就能正常编译,适配你的Redmi Note 9(Android12/SDK31)了。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 12:25:27