【问题标题】:Error:Gradle: Execution failed for task ':app:crashlyticsCleanupResourcesDebug'. > Crashlytics Developer Tools error错误:Gradle:任务“:app:crashlyticsCleanupResourcesDebug”执行失败。 > Crashlytics 开发人员工具错误
【发布时间】:2015-03-31 02:26:09
【问题描述】:

我有这个 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.

我该如何解决这个问题?

【问题讨论】:

  • 这似乎没有足够的信息来调试问题。您可以尝试从带有详细输出的命令行编译(gradle -info compileDebugSources)。从该输出中发布错误消息。
  • 您是否已将 API 密钥添加到应用清单中?我遇到了同样的错误,那是我的问题。
  • 我也遇到了这个问题,并通过将字符串直接放入元标记中解决了这个问题,而无需将 api 键定义到字符串资源中。例如将 替换为
  • 我有一个解决方案,解决这个问题:请从这个链接stackoverflow.com/a/40949152/3819836得到我的答案
  • 我通过关注Hassan Jamil's answer 解决了这个问题。非常感谢。

标签: android android-gradle-plugin crashlytics


【解决方案1】:

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

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

【讨论】:

  • 我只想使用fabric 登录twitter。我为什么要使用 crashlytics。我还是有同样的问题。你能解决这个问题吗?
  • 这是在使用插件时自动添加的。而且我仍然收到此错误。我不确定这是否是解决方案。
  • 我正在将字符串资源(由于不同的实时和调试密钥)分配给value。似乎它不起作用。伤心。
【解决方案2】:

这个方法解决了我的问题:

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

  // apply plugin: 'io.fabric'

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

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

【讨论】:

  • 运行时错误已解决。但是使用 Twitter 登录时会收到“无法完成操作”的祝酒词。请问有什么建议吗?
  • 你救了我的命
  • @VinilChandran 也许你必须获取结构密钥(twittercommunity.com/t/how-can-i-get-apikey/26162/2)并将其放入 AndroidManifest.xml ???
【解决方案3】:

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

apply plugin: 'io.fabric'

并且 gradle 构建将正常工作

【讨论】:

    【解决方案4】:

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

    例如 替换

    <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" />
    

    【讨论】:

    • Android Studio (2.3 Canary 2, Build #AI-162.3508619, build on November 18, 2016) 我认为这里有错误!这个解决方案对我有用
    • 我在使用 Android Studio 2.3.3 时仍然遇到了这个问题。这个解决方案奏效了。只要我的项目由一个模块组成,问题就不会发生。当我在库项目中添加 crashlytics 依赖项并在 app 模块中应用插件时发生这种情况。
    • 这个问题在我们的案例中得到了解决。我不明白为什么?
    【解决方案5】:

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

    我尝试了以下步骤:

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

    这对我有用。

    【讨论】:

      【解决方案6】:

      请确保您已添加

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

      在 build.gradle 文件的末尾。

      【讨论】:

        【解决方案7】:

        打开已经安装的Fabric Plugin并更新Crashlytics,你的问题就解决了

        【讨论】:

        • 错误即将到来,因为您尚未更新 Crashlytics ,一旦您更新它,它就会得到解决
        【解决方案8】:

        我有时会遇到这个问题,尽管我已经在 manifest 中有 api 密钥。然后我在尝试组装上传到Fabric之前尝试组装发布apk。所以让我们执行:

        $ ./gradlew assembleRelease
        

        然后

        $ ./gradlew assembleRelease crashlyticsUploadDistributionRelease
        

        而且效果很好。

        【讨论】:

          【解决方案9】:

          如果您使用distribution with Gradle,您可能已经检查了一些属性,例如

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

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

          【讨论】:

            【解决方案10】:

            我尝试了您在该问题和其他问题下提出的所有解决方案。但他们都没有解决我的问题。我解决了我的问题。我的解决方案可能会解决您的问题。我在主文件夹下创建了空的 res 文件夹。项目->src->main->res

            【讨论】:

              【解决方案11】:

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

              【讨论】:

                【解决方案12】:

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

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

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

                https://fabric.io/home

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2015-05-02
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-02-07
                  • 2016-05-24
                  • 2014-07-13
                  • 1970-01-01
                  相关资源
                  最近更新 更多