Elad Benda
Elad Benda

Reputation: 36672

Error:Gradle: Execution failed for task ':app:crashlyticsCleanupResourcesDebug'. > Crashlytics Developer Tools error

I have this mainActivity

public class MainActivity extends RoboFragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Crashlytics.start(this);
        //setContentView(R.layout.activity_main);

        Intent intent = new Intent(this, MainActivity_with_Fragment.class);
        startActivity(intent);
        finish();
    }
}

this is my gradle.build

buildscript {
    repositories {
        jcenter()
        maven { url 'http://download.crashlytics.com/maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.14.2'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

repositories {
    jcenter()
    maven { url 'http://download.crashlytics.com/maven' }
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        applicationId "com.example.stopcall.app"
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        abortOnError false
    }
}


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:21.0.3'
    compile 'org.roboguice:roboguice:3.+'
    provided 'org.roboguice:roboblender:3.+'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

When I run project build I get this compilation error:

Error:Gradle: Execution failed for task ':app:crashlyticsCleanupResourcesDebug'.
> Crashlytics Developer Tools error.

how can I fix this?

Upvotes: 50

Views: 48023

Answers (12)

younes
younes

Reputation: 832

Your key may have been entered on the wrong Android Manifest

 <meta-data
    android:name="io.fabric.ApiKey"
    android:value="yourApiKey" />          //You must have 40 words

You can get the code after registering and entering the project

https://fabric.io/home

Upvotes: 0

stefan222
stefan222

Reputation: 679

Please make sure you added

apply plugin: 'com.google.gms.google-services'

at the end of your build.gradle file.

Upvotes: 4

Hassan Jamil
Hassan Jamil

Reputation: 1031

I also got the issue and resolved it by putting string directly in meta tag without defining the api key into string resources.

e.g. Replace

<meta-data
        android:name="io.fabric.ApiKey"
        android:value="@string/string_res_name_of_your_api_key" />

to

<meta-data
        android:name="io.fabric.ApiKey"
        android:value="your_api_key_string" />

Upvotes: 18

Sanket Mendon
Sanket Mendon

Reputation: 403

When you follow the steps for adding an application in your Crashlytics dashboard, they have mentioned a step to add the api key. In my case I was getting the same error when I would try to fetch the key from the strings.xml file. The problem was that crashlytics plugin uses a runtime api key insertion method and hence the build fails as it is not able to get the key from the strings file.

I tried below step:

  1. Add a manifest placeholder in your build.gradle's defaultConfig:
    defaultConfig {
    manifestPlaceholders = [ api_key_crashlytics:"xxxx__your_api_key"]}
  1. In your AndroidManifest.xml add below code inside your application tag:
<meta-data
      android:name="io.fabric.ApiKey"
      android:value="${api_key_crashlytics}" />

This worked for me.

Upvotes: 8

Goodlife
Goodlife

Reputation: 3922

Most likely the ApiKey is not correct just check it out. Worked for me.

Upvotes: 0

Gaket
Gaket

Reputation: 6839

If you use distribution with Gradle you may have checked some properties like

ext.betaDistributionReleaseNotesFilePath=”path/to/release_notes.txt”

In our case we didn't have this file and the task crashed. To see the problem, go to Gradle console and check logs:

enter image description here

Upvotes: 1

Fthr
Fthr

Reputation: 807

This method solved my problem:

Remove or Comment this line (build.gradle):

  // apply plugin: 'io.fabric'

or if you have an ApiKey, define fabric ApiKey (AndroidManifest.xml)

    <meta-data
        android:name="io.fabric.ApiKey"
        android:value="yourApiKey012356465654" />

Upvotes: 36

sonal balekai
sonal balekai

Reputation: 395

Open the Fabric Plugin which is already installed and update the Crashlytics, your problem gets solved

Upvotes: 3

elifekiz
elifekiz

Reputation: 1506

I tried all of your solution suggests under that question and others. But all of them did not solve my problem. I solved my problem. My solution may solve your problem. I created empty res folder under main folder. project->src->main->res

Screenshot

Upvotes: 0

Khriz
Khriz

Reputation: 5998

If you only want to compose a tweet with the SDK you can remove the line

apply plugin: 'io.fabric'

And the gradle build will work correctly

Upvotes: 25

Khai Nguyen
Khai Nguyen

Reputation: 3061

I faced with this issue for sometimes, although I already had api key in manifest. Then I try assemble release apk before try to assemble to upload to Fabric. So let execute:

$ ./gradlew assembleRelease

then

$ ./gradlew assembleRelease crashlyticsUploadDistributionRelease

and it works well.

Upvotes: 1

Bill Mote
Bill Mote

Reputation: 12823

You need to add your API Key to the Android Manifest:

<application>
    <meta-data
        android:name="com.crashlytics.ApiKey"
        android:value="your key here" />
</application>

Upvotes: 67

Related Questions