错误:Gradle:任务“:app:crashlyticsCleanupResourcesDebug”执行失败。 > Crashlytics 开发人员工具错误
Posted
技术标签:
【中文标题】错误:Gradle:任务“:app:crashlyticsCleanupResourcesDebug”执行失败。 > Crashlytics 开发人员工具错误【英文标题】:Error:Gradle: Execution failed for task ':app:crashlyticsCleanupResourcesDebug'. > Crashlytics Developer Tools error 【发布时间】: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 键定义到字符串资源中。例如将您需要将您的 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 密钥插入方法,因此构建失败,因为它无法从字符串文件中获取密钥。
我尝试了以下步骤:
-
在 build.gradle 的 defaultConfig 中添加清单占位符:
defaultConfig
manifestPlaceholders = [ api_key_crashlytics:"xxxx__your_api_key"]
-
在您的 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
【讨论】:
以上是关于错误:Gradle:任务“:app:crashlyticsCleanupResourcesDebug”执行失败。 > Crashlytics 开发人员工具错误的主要内容,如果未能解决你的问题,请参考以下文章
Gradle 4.7构建抛出错误执行任务bootRepackage
Gradle productFlavors 引发错误 - 无法添加任务“:assembleTest”,因为具有该名称的任务已存在
错误:Gradle:任务“:app:crashlyticsCleanupResourcesDebug”执行失败。 > Crashlytics 开发人员工具错误
错误:Gradle:任务“:core:compileJava”执行失败。 > 编译失败