Эмулятор Jenkins Android запущен из-за устаревшего SDK. Как я могу обновить его на jenkins

#jenkins #jenkins-pipeline #jenkins-plugins #jenkins-cli #android-emulator-plugin

#Дженкинс #Дженкинс-конвейер #Дженкинс-плагины #jenkins-cli #android-emulator-plugin

Вопрос:

Я использую jenkins в своей локальной системе и добавил плагин эмулятора Android, но он выдает ошибку для устаревшего SDK.

  > C:Program FilesGitbingit.exe rev-list --no-walk f04a1c2fe717dc9b6a3a329636f418e3dc853585 # timeout=10
[android] Outdated SDK Tools found. Upgrading from '26.1.1' to 'build 6609375'
[android] Android SDK installation failed
[android] hudson.plugins.android_emulator.SdkInstallationException: Failed to download Android SDK
    at hudson.plugins.android_emulator.SdkInstaller.doInstall(SdkInstaller.java:91)
    at hudson.plugins.android_emulator.SdkInstaller.install(SdkInstaller.java:72)
    at hudson.plugins.android_emulator.AndroidEmulator.setUp(AndroidEmulator.java:278)
    at hudson.model.Build$BuildExecution.doRun(Build.java:157)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
    at hudson.model.Run.execute(Run.java:1894)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:428)
Caused by: java.io.IOException: Failed to donwload SDK archive
    at hudson.plugins.android_emulator.SdkInstaller.installBasicSdk(SdkInstaller.java:189)
    at hudson.plugins.android_emulator.SdkInstaller.doInstall(SdkInstaller.java:89)
    ... 8 more

Finished: NOT_BUILT
  

Ответ №1:

Сейчас я сталкиваюсь с точно такой же проблемой на сервере ubuntu. Что я сделал — вручную загрузил инструменты sdk и установил их в мою папку / usr / lib / android-sdk

  • wget -O sdk-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip
  • sudo apt install unzip
  • unzip sdk-tools.zip

и теперь эта проблема исчезла в jenkins для меня.

Ответ №2:

Выполните следующие действия:

  1. Управление Дженкинсом -> Настройка системы -> Прокрутите вниз
  2. снимите флажок Automatically install Android components when required

Комментарии:

1. Если проблема связана с устаревшим SDK, разве вы не хотите, чтобы компоненты обновлялись? Или проблема в том, что компоненты выходят раньше SDK? Добавление некоторых пояснений здесь поможет будущим читателям понять концепцию здесь.

2. @JeremyCaney все необходимое будет загружено автоматически во время следующих шагов скрипта (по крайней мере, в моем случае — мобильное приложение flutter ;)) — Я только что добавил свое предложение исправить этот конкретный шаг для тех, кому нужно разблокировать Jenkins. В общем, похоже, что об этом нужно сообщать как о проблеме в репозитории плагинов Jenkins «Android Emulator».

3. Это известная проблема плагина issues.jenkins.io/browse/JENKINS-65625?jql=component=15725