ERROR: No signature of method: com.crashlytics.tools.gradle.CrashlyticsPlugin.findObfuscationTransformTask()

ERROR: No signature of method: com.crashlytics.tools.gradle.CrashlyticsPlugin.findObfuscationTransformTask()

我在 Android Studio 上尝试构建我的项目时遇到以下错误:

ERROR: No signature of method: com.crashlytics.tools.gradle.CrashlyticsPlugin.findObfuscationTransformTask() is applicable for argument types: (java.lang.String) values: [DevDebug]

如何解决?

编辑:在继续下面的解决方案之前,请先更新到最新稳定版本的 fabric gradle 工具并检查问题是否已解决。在进行此编辑时,一些人声称更新到版本 1.31.2 已经解决了这个问题。

这似乎是与 "io.fabric.tools:gradle" 的“1.28.0”版本相关的问题。

如果在依赖(app level/project 级别)中使用 groupId:artifactId:n.+ 版本控制结构,通常会出现这种问题。在这种情况下:

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}

因为是自动更新版本,如果最新版本出现致命错误,项目很可能会因为build/runtime错误而崩溃。

Android 工作室总是建议:'Avoid using + in version numbers; can lead to unpredictable and unrepeatable builds...'

发现一个可行的解决方案是降级到特定的先前版本,例如 1.27.1 或 1.28.0 之前的任何其他稳定的最新版本,例如:

dependencies {
    classpath 'io.fabric.tools:gradle:1.27.1'
}

记得检查两个 gradle 文件(app level/project 级别)以查看上述依赖项的声明位置并进行相应更改。

嘿,这个错误是由于许多 android 开发人员使用

classpath 'io.fabric.tools:gradle:1.+'

像这样编译器找不到与结构版本完全匹配的错误并引发错误 M。 Arabi Hasan Sakib 是对的

classpath 'io.fabric.tools:gradle:1.28.0'

也出现这种类型的错误,M提到的解决方案。 Arabi Hasan Sakib 也在工作。我尝试了下面的代码,它对我有用,希望它也对你们有用,或者只是替换

这样的行

classpath 'io.fabric.tools:gradle:1.27.1':

(把这段代码放到app目录下的build.gradle)

  buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.27.1'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
    maven { url "https://jitpack.io" }
    maven {
        url "http://dl.bintray.com/lukaville/maven"
    }
}