4

我正在尝试为 Jenkins 配置android 模拟器插件,但我很难弄清楚为什么插件找不到 Android SDK。

首先,克隆项目后Jenkins总是输出:

[android] No Android SDK found; let's install it automatically...  
[android] Going to install required Android SDK components...  
[android] Installing the 'platform-tool,tool' SDK component(s)...  
$ /var/lib/jenkins/tools/android-sdk/tools/android update sdk -u -a -t platform-tool,tool

之后,它会失败,因为插件可能不知道如何回答许可协议。

Do you accept the license 'android-sdk-license-bcbbd656' [y/n]: 
Unknown response ''.
Do you accept the license 'android-sdk-license-bcbbd656' [y/n]: 
Unknown response ''.
Max number of retries exceeded. Rejecting 'android-sdk-license-bcbbd656'

所以我只是复制了我自己的命令并安装了所有的东西。输出保持不变,没有找到 Android SDK。我尝试 chown 和 chmod 755 文件夹以确保 Jenkins 可以访问它,但它再次失败。

我检查了 Jenkins 配置,我可以明确告诉 Jenkins android SDK 在哪里,但知道它因另一个错误而失败:我用/var/lib/jenkins/tools/android-sdk/填充字段Android SDK root但它显示为必需未找到工具(adb 等)

这是我的ls -la/var/lib/jenkins/tools/android-sdk

drwxr-xr-x  9 jenkins jenkins 4096 May 16 11:12 .
drwxr-xr-x  5 jenkins jenkins 4096 May 15 20:20 ..
-rwxr-xr-x  1 jenkins jenkins    6 May 16 12:36 .jenkins-install-info
-rwxr-xr-x  1 jenkins jenkins    0 Dec 20 20:00 .timestamp
-rwxr-xr-x  1 jenkins jenkins 1158 Dec  6 16:50 SDK Readme.txt
drwxr-xr-x  2 jenkins jenkins 4096 May 15 19:45 add-ons
drwxr-xr-x  3 jenkins jenkins 4096 May 16 09:02 build-tools
drwxr-xr-x 19 jenkins jenkins 4096 May 16 09:49 docs
drwxr-xr-x  3 jenkins jenkins 4096 May 16 11:12 platform-tools
drwxr-xr-x  8 jenkins jenkins 4096 May 16 10:43 platforms
drwxr-xr-x  2 jenkins jenkins 4096 May 16 11:12 temp
drwxr-xr-x  9 jenkins jenkins 4096 May 16 11:11 tools

这是/ var/lib/jenkins/tools/android-sdk/platform-tools的ls -la

drwxr-xr-x 3 jenkins jenkins    4096 May 16 11:12 .
drwxr-xr-x 9 jenkins jenkins    4096 May 16 11:12 ..
-rwxr-xr-x 1 jenkins jenkins  467531 May 16 11:12 NOTICE.txt
-rwxr-xr-x 1 jenkins jenkins 1226659 May 16 11:12 adb
drwxr-xr-x 2 jenkins jenkins    4096 May 16 11:12 api
-rwxr-xr-x 1 jenkins jenkins  176550 May 16 11:12 fastboot
-rwxr-xr-x 1 jenkins jenkins   16644 May 16 11:12 source.properties

这清楚地表明 adb 在那里并且正在运行,如上面的命令所示:

sudo -u jenkins ./adb version
Android Debug Bridge version 1.0.31

对此问题的任何帮助将不胜感激。

4

3 回答 3

5

似乎在尝试接受此问题中报告的许可协议时确实存在错误,并且由于 SDK 22 确实将其从原始位置(问题)移走了,因此插件也在寻找错误的位置来找到adb 。

于 2013-05-17T16:49:37.143 回答
1

您可以通过创建从 platform-tools/adb 到 tools/ 的符号链接来“修复”丢失的 adb 问题(或者相反..)

于 2013-05-18T12:37:30.157 回答
1

该插件在 sdk22 上有这个未解决的问题,sdk22 移动到了 ../build-tools/17.0.0 这悄悄地导致插件找不到 sdk,因此尝试下载一个新的: https://issues .jenkins-ci.org/browse/JENKINS-18015

问题描述中的解决方法,添加符号链接,对我有用。但是,我还必须删除 .android/avd/ 中的 avd 文件(使用 sdk21 创建),以便使用新的 sdk 重新创建它们。

于 2013-05-29T18:51:09.460 回答