【发布时间】:2017-01-26 20:40:58
【问题描述】:
我正在尝试在 android gradle 项目上设置与 Jenkins 的持续集成
当我构建它时,我收到以下错误:
[Android Gradle Jenkins Experiment2] $ "/Users/Shared/Jenkins/Home/workspace/Android Gradle Jenkins Experiment2/gradlew" build
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
The SDK directory '/Users/chaz/Library/Android/sdk' does not exist.
以下是我的jenkins配置的一部分:
ANDROID_HOME
/Users/chaz/Library/Android/sdk
JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/
我的机器是OS X El Capitan Version 10.11.6
我尝试了以下方法:
- 认为是权限问题,给 sdk 目录 chmod -R 777
- 仔细检查
local.properties文件中的sdk.dir(它指向/Users/chaz/Library/Android/sdk)。 - 从 jenkins 配置中删除了添加回
ANDROID_HOMEenv 变量(没有帮助)。
当我用谷歌搜索时,我发现有人面对同样的issue。提供的解决方案如下:
解决方案
这很可能发生,因为您正在覆盖 ANDROID_HOME — 删除这样的环境自定义,然后 SDK 应该 安装好。
致谢
谢谢,是的,它是 env 变量的重叠。我已经删除了除全局之外的所有内容并将其保存在 ${ANDROID_HOME} 中。
我应该如何做除了全局之外的所有内容并将其保存在 ${ANDROID_HOME} 中。 解决方案的一部分?
编辑:我能够在具有相同 jenkins 配置的 Windows 机器上成功使用 Jenkins(我能够成功构建,也在设备中安装 apk)。
提前致谢!
【问题讨论】:
-
闻起来像是权限问题..
-
我不是很确定,正如我提到的,我已经为 sdk 目录尝试了 chmod -R 777
-
是的,但如果詹金斯看不到父目录..
-
嗯,我会在父目录中添加 chmod
-
是的! 已修复!权限确实是问题。 第一次我在 /Users/chaz/Library/Android/ 执行了 chmod 777,但它没有用。然后我在 /Users/chaz/Library/ 运行 chmod -R 777,它工作了!您可以将评论移至答案吗?我会将其标记为已回答并投票。谢谢:)
标签: android jenkins android-gradle-plugin