【问题标题】:Android emulator plugin doesn't find the android SDKAndroid 模拟器插件找不到 android SDK
【发布时间】:2013-05-12 22:03:00
【问题描述】:

我正在尝试为 Jenkins 配置 android emulator plugin,但我很难弄清楚为什么插件找不到 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

对于这个问题的任何帮助将不胜感激。

【问题讨论】:

    标签: jenkins jenkins-plugins android-emulator-plugin


    【解决方案1】:

    似乎在尝试接受此issue 中报告的许可协议时确实存在错误,并且该插件也在寻找错误的位置以找到 adb,因为 SDK 22 确实移动了它来自原始位置 (issue)。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 很好的提示,但我认为这些人已经解决了这些问题。
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-10-08
        • 2021-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-16
        • 1970-01-01
        相关资源
        最近更新 更多