错误:Gradle:任务':app:crashlyticsCleanupResourcesDebug'执行失败。 > Crashlytics开发人员工具错误

时间:2015-01-31 19:41:32

标签: android android-gradle crashlytics

我有这个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();
    }
}

这是我的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.+'
}

当我运行项目构建时,我得到了这个编译错误:

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

我该如何解决这个问题?

12 个答案:

答案 0 :(得分:66)

您需要将API密钥添加到Android Manifest:

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

答案 1 :(得分:35)

此方法解决了我的问题:

删除或评论此行(build.gradle):

  // apply plugin: 'io.fabric'

或者如果您有ApiKey,请定义fabric ApiKey(AndroidManifest.xml)

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

答案 2 :(得分:25)

如果您只想用SDK撰写推文,可以删除该行

apply plugin: 'io.fabric'

gradle构建将正常工作

答案 3 :(得分:18)

我也遇到了问题并通过将字符串直接放在元标记中而不将api键定义为字符串资源来解决它。

e.g。 取代

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

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

答案 4 :(得分:8)

当您按照在Crashlytics仪表板中添加应用程序的步骤进行操作时,他们已经提到了添加api密钥的步骤。在我的情况下,当我尝试从strings.xml文件中获取密钥时,我遇到了同样的错误。问题是crashlytics插件使用运行时api密钥插入方法,因此构建失败,因为它无法从字符串文件中获取密钥。

我尝试了以下步骤:

  1. 在build.gradle的defaultConfig中添加一个清单占位符:
  2.     defaultConfig {
        manifestPlaceholders = [ api_key_crashlytics:"xxxx__your_api_key"]}
    
    1. 在AndroidManifest.xml中,在应用程序代码中添加以下代码:
    2. <meta-data
            android:name="io.fabric.ApiKey"
            android:value="${api_key_crashlytics}" />
      

      这对我有用。

答案 5 :(得分:3)

打开已安装的Fabric插件并更新Crashlytics,您的问题就解决了

答案 6 :(得分:3)

请确保您已添加

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

在build.gradle文件的末尾。

答案 7 :(得分:1)

我有时会面对这个问题,虽然我已经在清单中有api密钥了。然后我尝试组装发布apk,然后尝试组装上传到Fabric。所以让执行:

$ ./gradlew assembleRelease

然后

$ ./gradlew assembleRelease crashlyticsUploadDistributionRelease

并且效果很好。

答案 8 :(得分:1)

如果您使用distribution with Gradle,则可能会检查某些属性,例如

  

ext.betaDistributionReleaseNotesFilePath =”路径/到/ release_notes.txt”

在我们的案例中,我们没有这个文件,任务崩溃了。要查看问题,请转到Gradle控制台并检查日志:

enter image description here

答案 9 :(得分:0)

我尝试了所有解决方案建议在该问题和其他问题上。但他们都没有解决我的问题。我解决了我的问题。我的解决方案可以解决您的问题我在主文件夹下创建了空res文件夹。项目 - &GT; SRC-&GT; main-&GT; RES

Screenshot

答案 10 :(得分:0)

很可能ApiKey不正确只是检查一下。为我工作。

答案 11 :(得分:0)

您的密钥可能输入了错误的Android清单

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

注册并输入项目后即可获取代码

https://fabric.io/home