无法在Jenkins

时间:2016-09-13 23:46:24

标签: java android tomcat jenkins gradle

我已遵循此处的说明:https://www.digitalocean.com/community/tutorials/how-to-build-android-apps-with-jenkins以及我通过搜索在网络上找到的其他项目,但仍然无法让我的Android应用程序在Jenkins上构建。

这是我在jenkins构建中启用调试后出现的错误:

com.android.prefs.AndroidLocation$AndroidLocationException: Unable to get the Android SDK home directory.
23:37:55.727 [ERROR] [org.gradle.BuildExceptionReporter] Make sure the environment variable ANDROID_SDK_HOME is set up.
23:37:55.727 [ERROR] [org.gradle.BuildExceptionReporter]    at com.android.prefs.AndroidLocation.findHomeFolder(AndroidLocation.java:220)
23:37:55.727 [ERROR] [org.gradle.BuildExceptionReporter]    at com.android.prefs.AndroidLocation.getFolder(AndroidLocation.java:141)
23:37:55.727 [ERROR] [org.gradle.BuildExceptionReporter]    at com.android.ide.common.signing.KeystoreHelper.defaultDebugKeystoreLocation(KeystoreHelper.java:84)
23:37:55.727 [ERROR] [org.gradle.BuildExceptionReporter]    at com.android.builder.signing.DefaultSigningConfig.initDebug(DefaultSigningConfig.java:59)
23:37:55.727 [ERROR] [org.gradle.BuildExceptionReporter]    at com.android.build.gradle.internal.dsl.SigningConfig.<init>(SigningConfig.java:52)
23:37:55.727 [ERROR] [org.gradle.BuildExceptionReporter]    ... 79 more
23:37:55.728 [ERROR] [org.gradle.BuildExceptionReporter] 
23:37:55.728 [LIFECYCLE] [org.gradle.BuildResultLogger] 
23:37:55.728 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED
23:37:55.728 [LIFECYCLE] [org.gradle.BuildResultLogger] 
23:37:55.728 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 3.839 secs

有些网页表示问题可能是ANDROID_HOME未设置且脚本显示ANDROID_SDK_HOME无法到达。我相信我已经设置了这两个,所以我在构建步骤中添加了回声。这是来自上面相同输出的结果:

+ echo ANDROID_HOME /opt/android-sdk-linux
ANDROID_HOME /opt/android-sdk-linux
+ echo ANDROID_SDK_HOME /opt/android-sdk-linux
ANDROID_SDK_HOME /opt/android-sdk-linux
[Gradle] - Launching build.

我的机器人安装在/opt/android-sdk-linux

转到/opt/jenkins/workspace/[my project]我跑了gradle clean build。我这样做了一个权限问题,所以我将chmod -R +wx运行到整个工作区目录。我的gradle构建在命令提示符下运行得很干净。

回到詹金斯并且现在在我的项目上构建了它,但它仍然完全如上所述。

Jenkins在tomcat下运行/opt/tomcat。 Tomcat以一个Damon脚本开头,这就是我如何设置Jenkins使用的环境变量。

我在构建服务器上运行Ubuntu 16.04 64位。

每个人都有权/opt/android-sdk-linux

thomas@testbox:~$ ls -ld /opt/android-sdk-linux/
drwxrwxrwx 13 thomas thomas 4096 Sep 13 23:09 /opt/android-sdk-linux/

想法?

0 个答案:

没有答案