在build.gradle文件中的compileKotlin块会抛出错误“Could not find method compileKotlin()for arguments ”

我正在尝试将Kotlin配置为在我的Android项目中使用Java 1.8。 我已经尝试在build.gradle文件的底部添加compileKotlin块,但是如果我这样做,则会出现错误。

发生的错误如下:

错误:(38,0)无法找到类型为org.gradle.api.Project的项目':core'的参数[build_dvcqiof5pov8xt8flfud06cm3 $ _run_closure4 @ 66047120]上的方法compileKotlin()。

该项目运行良好,没有这个块。 我错过了什么? 这是完整的build.gradle文件,这是非常基本的东西:

 apply plugin: 'com.android.library' apply plugin: 'kotlin-android' android { compileSdkVersion 25 buildToolsVersion '25.0.2' defaultConfig { minSdkVersion 24 targetSdkVersion 25 versionCode 1 versionName '1.0.0' testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner' } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile 'com.android.support:appcompat-v7:25.3.1' compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" compile 'com.google.android.support:wearable:2.0.2' } repositories { mavenCentral() } compileKotlin { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 kotlinOptions { jvmTarget = '1.8' apiVersion = '1.1' languageVersion = '1.1' } } 

你所得到的错误意味着项目中没有compileKotlin任务,这对于Android项目来说是期望的。

Android项目中的Kotlin编译任务名称包含构建变体名称(这些变体名称由构建类型,产品风格和其他设置组成,看起来像debugreleaseUnitTest – 任务分别为compileDebugKotlincompileReleaseUnitTestKotlin )。 没有compileKotlin任务,通常为普通Java + Kotlin项目中的main源集创建任务。

最有可能的是,您想要在项目中配置所有 Kotlin编译任务,为此,您可以按如下方式应用该块:

 tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 kotlinOptions { jvmTarget = '1.8' apiVersion = '1.1' languageVersion = '1.1' } }