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

升级Jetpack Compose BOM至2023.08.00,如何不升级compileSdk/targetSdk到34?

无需升级compileSdk/targetSdk至34完成Compose BOM 2023.08.00升级的解决方案

问题根源

Compose BOM 2023.08.00中引入了androidx.emoji2:emoji2:1.4.0,该版本强制要求项目编译SDK版本为34或更高,而你的项目当前使用compileSdk 33,因此触发报错。

解决方案

通过在依赖中显式指定兼容compileSdk 33的emoji2版本,覆盖BOM中的默认版本即可:

  1. 在应用级build.gradle的dependencies块中,添加以下两行代码,强制使用emoji2 1.3.0版本(该版本兼容compileSdk 33):
// 覆盖emoji2版本以兼容compileSdk 33
implementation "androidx.emoji2:emoji2:1.3.0"
implementation "androidx.emoji2:emoji2-views-compose:1.3.0"
  1. 修改后的完整dependencies关键部分示例:
dependencies {
    // 其他原有依赖...

    // Jetpack Compose
    implementation platform("androidx.compose:compose-bom:$compose_bom_version")
    implementation "androidx.compose.ui:ui"
    implementation 'androidx.compose.ui:ui-graphics'
    implementation "androidx.compose.ui:ui-tooling-preview"
    implementation 'androidx.compose.material3:material3'
    implementation 'androidx.compose.material3:material3-window-size-class'
    debugImplementation "androidx.compose.ui:ui-tooling"
    debugImplementation "androidx.compose.ui:ui-test-manifest"

    // 新增:覆盖emoji2版本
    implementation "androidx.emoji2:emoji2:1.3.0"
    implementation "androidx.emoji2:emoji2-views-compose:1.3.0"

    // 其他原有依赖...
}

说明

  • 这种方式不会影响BOM中其他Compose组件的版本,仅针对emoji2进行版本锁定。
  • emoji2 1.3.0是稳定版本,功能上完全满足Compose BOM 2023.08.00的配套需求,且与compileSdk 33兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 10:01:14