【发布时间】: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