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

Android IoT项目构建依赖问题求助:Compose与Kotlin版本不兼容等

问题分析与构建修复建议

错误原因分析

  • Compose Compiler与Kotlin版本不兼容:Compose Compiler对Kotlin版本有严格的匹配约束,1.1.0版本的Compiler仅支持Kotlin 1.6.10,当前使用的Kotlin 1.7.0不在兼容范围内,直接触发版本校验错误。
  • JVM7/JVM8相关错误:大概率是项目部分依赖仍采用JVM 7字节码规范,而构建配置指定了更高版本(如JVM 8),或反之,导致字节码版本不匹配;也可能是Kotlin编译参数中的JVM目标版本设置不一致。
  • 重复类问题:通常是不同依赖库引入了包名和类名完全相同的文件,或本地代码与依赖库存在类名冲突,多模块项目中也可能出现跨模块重复定义类的情况。

构建修复建议

1. 对齐Compose Compiler与Kotlin版本

  • 方案一:将Kotlin版本降级至1.6.10,与Compose Compiler 1.1.0匹配。修改项目根目录的build.gradle(或build.gradle.kts):
    plugins {
        id 'com.android.application' version '7.2.0' apply false
        id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
    }
    
  • 方案二:升级Compose Compiler至兼容Kotlin 1.7.0的版本(如1.3.0),同时同步升级compose-ui、compose-material等相关Compose依赖到对应版本,避免依赖版本混乱。

2. 统一JVM目标版本配置

  • 在模块级build.gradle(或build.gradle.kts)中,确保Android编译选项与Kotlin编译选项的JVM版本一致,推荐设置为JVM 8:
    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    
        kotlinOptions {
            jvmTarget = '1.8'
        }
    }
    
  • 检查所有依赖库的兼容性,若有依赖仍依赖JVM 7,考虑升级该依赖或调整项目JVM版本至兼容值。

3. 解决重复类问题

  • 执行./gradlew dependencies(Windows环境用gradlew.bat dependencies)生成依赖树,定位重复类对应的依赖,排除其中一个冲突依赖:
    implementation('com.example:some-library:1.0.0') {
        exclude group: 'com.conflicting.group', module: 'conflicting-module'
    }
    
  • 检查本地代码是否存在与依赖库同名的类,重命名本地类或移除重复文件。
  • 多模块项目需确认是否跨模块重复定义类,调整类的归属模块或通过公共模块共享类。

额外操作建议

  • 清理构建缓存:执行./gradlew clean后重新构建,避免缓存引发的版本冲突。
  • 同步Gradle配置:在Android Studio中点击"Sync Project with Gradle Files",确保所有配置变更生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 09:22:30