这个问题在 SO 上被问了很多次,但我找不到任何适合我的解决方案。 我正在尝试从 groovy 迁移到 kotlin DSL 并收到以下错误。
所有转换都已完成到 kotlin DSL,但是当我尝试同步时,问题开始出现。我正在使用最新版本的 android gradle 插件。
A problem occurred configuring project ':app'.
Failed to notify project evaluation listener.
com.android.build.gradle.internal.crash.ExternalApiUsageException: groovy.lang.MissingMethodException: No signature of method: com.android.build.gradle.internal.variant.ApplicationVariantData.getName() is applicable for argument types: () values: []
Possible solutions: getAt(java.lang.String), getClass()
KotlinJvmAndroidCompilation with name 'debug' not found.
请让我知道在这方面可以做什么,提前致谢。
plugins {
id("com.android.application")
id("com.google.firebase.crashlytics")
id("io.hansel.preprocessor")
id("com.google.firebase.firebase-perf")
kotlin("android")
kotlin("android.extensions")
kotlin("kapt")
id("com.google.gms.google-services")
}
buildscript {
apply("../buildSrc/config.gradle.kts")
}
repositories {
maven { url = uri(Config.Repositories.hansel_io) }
}
allprojects {
repositories {
google()
jcenter()
flatDir {
dirs("libs")
}
}
}
android {
signingConfigs {
....
}
}
defaultConfig {
...
}
buildTypes {
getByName("debug") {
...
}
getByName("release") {
...
}
}
flavorDimensions("version")
productFlavors {
create("development") {
...
}
applicationVariants.all {
val variant = this
variant.outputs
.map { it as BaseVariantOutputImpl }
.forEach { output ->
....
}
}
}
compileOptions {
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_1_8
}
buildFeatures {
dataBinding = true
}