Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I am getting the following error while trying to build my project on Android Studio:

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

How to solve this?

like image 437
M. Arabi Hasan Sakib Avatar asked Mar 18 '19 05:03

M. Arabi Hasan Sakib


2 Answers

hey this error raised because of Many android developers uses

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

like this so that compiler not find exactly match of the fabric version and error raise and also M. Arabi Hasan Sakib is right

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

also raise this type of error, solution mentioned by M. Arabi Hasan Sakib is also working. I tried below code and its working for me hope it works for you people also or just replace the line like

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

(Put this code into the build.gradle in app directory)

  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"
    }
}
like image 42
Mahesh Keshvala Avatar answered Oct 17 '22 16:10

Mahesh Keshvala


EDIT: Before proceeding to the solution below, please at first update to the latest stable version of fabric gradle tools and check if the problem is fixed. At the time of this edit, some claim that updating to version 1.31.2 has fixed the issue.

This seems to be an issue related to version "1.28.0" of "io.fabric.tools:gradle".

Usually this kind of problem occurs if groupId:artifactId:n.+ structure of versioning is used inside dependency (app level/project level). In this case:

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

Because it auto updates the version, and as a result, if there is any fatal error in the latest version, the project is likely to face a crash due to build/runtime error.

Android Studio always suggests: 'Avoid using + in version numbers; can lead to unpredictable and unrepeatable builds...'

One working solution was found to be downgrading to a specific previous version like 1.27.1 or any other stable latest version prior to 1.28.0, like:

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

Remember to check both gradle files (app level/project level) to see where the above dependency has been declared and change accordingly.

like image 77
M. Arabi Hasan Sakib Avatar answered Oct 17 '22 16:10

M. Arabi Hasan Sakib