错误:方法没有签名:com.crashlytics.tools.gradle.CrashlyticsPlugin.findObfuscationTransformTask()

时间:2019-03-18 05:26:34

标签: android build-error crashlytics-android android-studio-3.3 build-variant

尝试在Android Studio上构建项目时出现以下错误:

  

错误:方法没有签名:   com.crashlytics.tools.gradle.CrashlyticsPlugin.findObfuscationTransformTask()   适用于参数类型:(java.lang.String)值:   [DevDebug]

如何解决这个问题?

2 个答案:

答案 0 :(得分:47)

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

通常,如果在依赖项(应用程序级别/项目级别)中使用版本控制的'...:n。+'结构,则会发生此类问题。在这种情况下:

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

由于它会自动更新版本,因此,如果最新版本中存在任何致命错误,则该项目很可能会因构建/运行时错误而崩溃。

Android Studio始终建议“避免在版本号中使用+;会导致无法预测和不可重复的构建...'

发现一个有效的解决方案正在降级到特定的先前版本(例如1.27.1)或降级到1.28.0之前的任何其他稳定的最新版本,例如:

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

记住要检查两个gradle文件(应用程序级别/项目级别),以查看声明了上述依赖项的位置并进行相应的更改。

答案 1 :(得分:39)

嘿,由于许多Android开发人员使用,引发了此错误

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

像这样,这样编译器就无法找到与结构版本完全匹配的对象,并且错误引发M和 M。 Arabi Hasan Sakib 是正确的

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

也会引发此类错误,这是 M提到的解决方案。 Arabi Hasan Sakib 也正在工作。我试过下面的代码,它对我有用,希望它对您也有用,或者只是替换

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

(将此代码放入应用目录中的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"
    }
}