Flutter集成agora_uikit:^1.3.10时编译报错:':agora_uikit:compileDebugKotlin'执行失败
Flutter集成agora_uikit:^1.3.10时编译报错:':agora_uikit:compileDebugKotlin'执行失败
嘿,我之前也碰到过一模一样的问题!这个报错的核心原因很明确:你的项目里Java编译任务的目标JVM版本是1.8,但agora_uikit模块的Kotlin编译任务用的是17,版本不匹配就导致编译失败了。别慌,按下面的步骤一步步来就能解决:
第一步:统一项目根目录的JVM版本配置
打开项目根目录下的android/build.gradle文件,找到ext配置块,添加或修改JVM目标版本的配置,确保Java和Kotlin版本对齐:ext { compileSdkVersion = 33 minSdkVersion = 21 targetSdkVersion = 33 kotlin_version = '1.8.0' // 保持Kotlin版本和gradle插件一致 jvmTarget = '1.8' // 统一设置为1.8 }第二步:确保Kotlin Gradle插件版本一致
同样在android/build.gradle的buildscript依赖块里,确认Kotlin插件版本和上面配置的一致:buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }第三步:配置App模块的编译选项
打开android/app/build.gradle,在android代码块中添加或修改compileOptions和kotlinOptions,强制统一JVM目标版本:android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } }如果还是没解决?试试强制所有子模块对齐版本
要是上面的步骤还不行,说明agora_uikit模块自己的配置没生效,我们可以在项目根目录的android/build.gradle里添加一段配置,强制所有子模块(包括agora_uikit)都使用1.8版本:subprojects { afterEvaluate { project -> if (project.hasProperty('android')) { android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } } } } }
做完这些之后,记得清理一下项目缓存(可以用flutter clean命令),然后重新编译,应该就能顺利通过了!
备注:内容来源于stack exchange,提问作者Ganesh
相关产品推荐
相关产品推荐

