【问题标题】:Jenkins build fails on Crashlytics tasksJenkins 在 Crashlytics 任务上构建失败
【发布时间】:2014-05-16 21:01:46
【问题描述】:

我是 Jenkins 和一般构建服务器的新手。我正在努力在 Jenkins 上设置一个 Android 项目,该应用程序使用 Crashlytics。使用 Gradle,我将我的任务设置为“干净构建”,但每当我遇到 Crashlytics 任务时,我都会收到以下错误:

java.lang.Error: Classloader conflict in your Gradle environment, 
please verify you are running the latest Android plugin.

Crashlytics data directory at /Users/Shared/Jenkins/Library/Caches/com.crashlytics
could not be created.

我尝试使用“-x crashlyticsGenerateResourecesAlpha”设置我的 Gradle 任务(该任务失败)以跳过该任务,但这似乎也不起作用。

我检查了我是否安装了最新的 Android 工具、模拟器等。我目前下载的 Android 插件是 Android Emulator Plugin 和 Gradle 插件(都是最新版本)。我正在使用 Git 来拉入我的项目。在构建项目之前,我正在启动一个模拟器。我指向 Jenkins 目录中的 android-sdk 文件夹。我还配置了 JDK 1.7,它指向我本地机器上的 JDK 目录(我在本地运行 Jenkins)。

这是我在运行 gradle -v 时收到的构建版本:

------------------------------------------------------------
Gradle 1.11
------------------------------------------------------------
Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy:          2.2.0
JVM:          1.7.0_55 (Oracle Corporation 24.55-b03)
OS:           Mac OS X 10.9.2 x86_64

还有其他可能导致此错误的原因吗?是否有我可能不知道的 Crashlytics 插件?另外,如果有任何我可能不知道的 Jenkins 调试技巧,请告诉我,我会根据我的发现更新问题。

【问题讨论】:

  • 您确定 Jenkins 确实在使用您认为的版本(尝试添加构建步骤以运行gradle -v)?
  • 我已经用输出 gradle -v 更新了问题。对我来说,看起来一切都在那里。
  • 如果您在 Jenkins/terminal 中获得的输出相同,我会检查他尝试创建的路径的权限。检查Caches是否对运行Jenkins的用户有写权限。

标签: android jenkins crashlytics


【解决方案1】:

我遇到了同样的错误,因为/Users/Shared/Jenkins/Library 目录不存在。如果您创建该目录和/Users/Shared/Jenkins/Library/Caches,crashlytics 任务应该会完成。

【讨论】:

  • 您还必须创建此目录 /Users/Shared/Jenkins/Library/Caches/com.crashlytics
【解决方案2】:

这些是您需要遵循的最终命令:

sudo mkdir -p /Users/Shared/Jenkins/Library/Caches/com.crashlytics
sudo chown jenkins:jenkins /Users/Shared/Jenkins/Library -R

这里是这个案例的相关调试日志:

13:33:45.133 [ERROR] [org.gradle.BuildExceptionReporter]    at com.crashlytics.tools.gradle.CrashlyticsPlugin.<clinit>(CrashlyticsPlugin.groovy:13)
13:33:45.135 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:48)
13:33:45.136 [ERROR] [org.gradle.BuildExceptionReporter]    at org.gradle.api.internal.plugins.DefaultPluginRegistry.loadPlugin(DefaultPluginRegistry.java:69)
13:33:45.136 [ERROR] [org.gradle.BuildExceptionReporter]    ... 55 more
13:33:45.141 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.RuntimeException: Crashlytics data directory at /Users/Shared/Jenkins/Library/Caches/com.crashlytics could not be created.
13:33:45.142 [ERROR] [org.gradle.BuildExceptionReporter]    at com.crashlytics.tools.android.DeveloperTools.<clinit>(DeveloperTools.java:116)
13:33:45.143 [ERROR] [org.gradle.BuildExceptionReporter]    ... 60 more
13:33:45.143 [ERROR] [org.gradle.BuildExceptionReporter] 
13:33:45.144 [LIFECYCLE] [org.gradle.BuildResultLogger] 
13:33:45.145 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED
13:33:45.146 [LIFECYCLE] [org.gradle.BuildResultLogger] 
13:33:45.147 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 8.362 secs

【讨论】:

    猜你喜欢
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多