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

M. *_*kib 60 android build-error crashlytics-android build-variant android-studio-3.3

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

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

如何解决呢?

M. *_*kib 89

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

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

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

dependencies {
    classpath 'io.fabric.tools:gradle:1.27.1'
}
Run Code Online (Sandbox Code Playgroud)

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

  • 对我来说很好 (2认同)

Mah*_*ala 50

嘿,由于许多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'

(将此代码放入应用目录中的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"
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我拥有所有这些内容,但是我仍然无法构建。 (3认同)