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

升级至Kotlin 1.7.10后kotlinOptions配置引发编译错误求助

解决方案

1. 清理Kotlin编译器配置

Kotlin 1.7及以上版本中,IR编译器已经是默认启用状态,无需手动配置useIR = true;而K2编译器目前仍处于实验阶段,且完全不兼容kapt,所以直接移除以下所有相关配置行:

kotlinOptions.useIR = true
// 同时不要添加kotlinOptions.useK2 = true

2. 修复kapt执行异常

移除上述配置后出现的InvocationTargetException,核心原因是AGP、Kotlin版本不匹配,或是项目中注解处理器(如Room、Dagger等)未同步适配Kotlin 1.7版本。按以下步骤处理:

  • 检查所有注解处理器的版本,确保其支持Kotlin 1.7.10,比如Room需使用2.4.3及以上版本;
  • 确认模块build.gradle中kapt配置无过时写法,示例如下:
    dependencies {
        kapt "androidx.room:room-compiler:2.5.0" // 替换为你项目中使用的注解处理器版本
    }
    

3. 手动升级AGP适配compileSdk 33

AGP 7.2.1仅支持到compileSdk 32,与你当前使用的compileSdk 33不兼容,这也是编译异常的诱因之一。若升级助手未显示更高版本,可手动操作:

  • 打开项目根目录的build.gradle,将AGP版本修改为7.3.1(该版本兼容compileSdk 33,且与Kotlin 1.7.10匹配):
    buildscript {
        dependencies {
            classpath "com.android.tools.build:gradle:7.3.1"
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10"
        }
    }
    
  • 检查settings.gradle中的仓库配置,确保包含Google和MavenCentral仓库,保证能拉取到新版本AGP:
    pluginManagement {
        repositories {
            google()
            mavenCentral()
            gradlePluginPortal()
        }
    }
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    }
    
  • 同步项目,完成AGP版本升级。

4. 验证编译

完成所有配置后,依次执行Clean Project -> Rebuild Project,若仍有异常,可尝试删除项目根目录的.gradle文件夹及模块下的build文件夹后重新同步。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 21:48:28