Kotlin已经流行很多年了,但是项目中还是在用Java开发。显示准备在老项目中使用Kotlin,出现如下异常:
E:\Biumall\BiuDemo2Kt\src\main\java\com\biumall\demo\MainActivity.java:24: 错误: 找不到符号 KotlinUtils mKotlinUtils = new KotlinUtils(); ^ 符号: 类 KotlinUtils 位置: 类 MainActivity
随便记录一下,方便自己查阅和回顾。
第一步:新增kotlin-android
Module中(也就是上面BiuDemo2Kt)的build.gradle
中新增
id 'kotlin-android'
build.gradle开头处,具体如下
plugins { id 'com.android.application' //新增kotlin-android id 'kotlin-android' }
编译运行后出现如下错误
Execution failed for task ':BiuDemo2Kt:compileDebugKotlin'. > Inconsistent JVM-target compatibility detected for tasks 'compileDebugJavaWithJavac' (11) and 'compileDebugKotlin' (21).
第二步:将 Kotlin 目标版本降至 Java 8
继续在build.gradle中新增如下内容
kotlinOptions { jvmTarget = "11" }
具体位置如下
android { //略 compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" //确保与Java的配置一致 } }
当然如果你用的是Java版本1.8或着Java版本21
只需要修改jvmTarget中对应的值
jvmTarget = "1.8" //或者 jvmTarget = "21" //或者 jvmToolchain(17) // 或 8, 11, 17 等,根据你Java版本而定
好了编译运行OK
参考文章
《腾讯元宝》