Я пытаюсь настроить образ Docker на базе Windows Server Core для автоматизации установки Android SDK, Java и связанных инструментов, таких как Appium и Robot Framework. Цель состоит в том, чтобы создать среду сборки на Windows Server 2019 (ltsc2019), которая автоматически устанавливает и настраивает компоненты Android SDK.
Однако у меня возникают проблемы с отсутствием лицензий SDK. принимается в процессе сборки Docker, несмотря на использование echo y | sdkmanager --licenses подходит для их принятия. Сборка завершается с ошибкой при попытке установить компоненты Android SDK, такие как платформы;android-33 или system-images;android-33;google_apis;x86_64. Ниже приведен мой файл Docker:
dockerfile:
Используйте базовый образ Windows Server Core для Windows Server 2019
FROM mcr.microsoft.com/windows/servercore:ltsc2019
Установите зависимости с помощью PowerShell
RUN powershell -Command
"Invoke-WebRequest -Uri 'https://download.oracle.com/java/17/lat ... 64_bin.zip' -OutFile 'jdk.zip';
Развернуть- Archive -Path '.\jdk.zip' -DestinationPath 'C:\Program Files\Java'
Remove-Item -Force 'jdk.zip'
Вызов; -WebRequest -Uri 'https://redirector.gvt1.com/edgedl/andr ... indows.zip' -OutFile 'android-studio.zip' ;
Развернуть-Архив -Путь 'android-studio.zip' -DestinationPath 'C:\Program Files'
Удалить-Item -Force 'android-studio.zip; ';
New-Item -Path 'C:\Android\cmdline-tools' -ItemType Directory
Invoke-WebRequest -Uri 'https://dl.google .com/android/repository/commandlinetools-win-7302050_latest.zip' -OutFile 'sdk-tools.zip';
Развернуть-Архив -Путь 'sdk-tools.zip' -DestinationPath 'C:\Android\cmdline-tools';
Remove-Item -Force 'sdk-tools.zip';"
Установить переменные среды
ENV JAVA_HOME= "C:\Program Files\Java\jdk-17.0.12"
ENV PATH="${JAVA_HOME}\bin;C:\Program Files\nodejs;C:\Python310\;C:\Android\cmdline -tools\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;%PATH%"
ENV ANDROID_HOME="C:\Android"
Принятие лицензии с помощью метод echo y
RUN powershell -Command
"$licenses = @('platforms;android-33', 'platform-tools', 'system-images ;android-33;google_apis;x86_64', 'эмулятор');
foreach ($license in $licenses) {
Start-Process -FilePath 'cmd.exe' -ArgumentList '/c', 'echo y | C:\Android\cmdline-tools\cmdline-tools\bin\sdkmanager.bat', $license, '--sdk_root=C:\Android' -NoNewWindow -Wait;
}"
Установить компоненты Android SDK
ЗАПУСК powershell -Command "& 'C:\Android\cmdline- инструменты\cmdline-tools\bin\sdkmanager.bat' --update"
RUN powershell -Command "& 'C:\Android\cmdline-tools\cmdline-tools\bin\sdkmanager.bat' 'platform-tools ' 'эмулятор' 'платформы;android-33' 'system-images;android-33;google_apis;x86_64'"
Установите Python, Node.js и Appium (опущено для краткости)
(Дополнительные шаги по настройке для Python, Node.js и Robot Framework)
Установите точку входа для выполнения скрипта
ENTRYPOINT ["powershell.exe", "C:\script.ps1"]
Что я пробовал:
Использование echo y | sdkmanager -- Licenses для принятия лицензий.
Создан цикл PowerShell для обработки каждой лицензии с помощью Start-Process с cmd.exe, чтобы обеспечить правильность передачи данных по конвейеру.
Проверено, установлены ли инструменты Android SDK и пути к среде. правильно в контейнере.
Несмотря на это, когда образ докера собирается, я получаю приведенное ниже предупреждение во время сборки образа.
"Принять? (да/нет): пропуск следующих пакетов, поскольку лицензия не принимается:
Android SDK Platform 33
Эмулятор Android
API Google Intel x86_64 Образ системы Atom
Инструменты платформы Android SDK
Следующие пакеты невозможно установить, поскольку их лицензии или лицензии пакетов, от которых они зависят, не были приняты:
system-images;android-33;google_apis;x86_64
platform-tools
платформы;android-33
эмулятор"
Вопрос:
Как правильно автоматизировать прием лицензий Android SDK в Docker-контейнере на базе Windows Server Core Существуют ли какие-либо конкретные конфигурации или альтернативные методы, обеспечивающие принятие лицензий в процессе сборки?
Дополнительная информация:
Базовый образ: Windows Server Core 2019 (ltsc2019)
Версия Java: JDK 17
Android SDK: инструменты командной строки версии 7302050
Python, Node.js, Appium: установлены для автоматизации мобильного тестирования с помощью Robot Framework
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-on-docke
«Лицензия Android SDK не принята в Dockerfile для Windows Server Core в Docker» ⇐ Android
Форум для тех, кто программирует под Android
1726761350
Anonymous
Я пытаюсь настроить образ Docker на базе Windows Server Core для автоматизации установки Android SDK, Java и связанных инструментов, таких как Appium и Robot Framework. Цель состоит в том, чтобы создать среду сборки на Windows Server 2019 (ltsc2019), которая автоматически устанавливает и настраивает компоненты Android SDK.
Однако у меня возникают проблемы с отсутствием лицензий SDK. принимается в процессе сборки Docker, несмотря на использование echo y | sdkmanager --licenses подходит для их принятия. Сборка завершается с ошибкой при попытке установить компоненты Android SDK, такие как платформы;android-33 или system-images;android-33;google_apis;x86_64. Ниже приведен мой файл Docker:
dockerfile:
Используйте базовый образ Windows Server Core для Windows Server 2019
FROM mcr.microsoft.com/windows/servercore:ltsc2019
Установите зависимости с помощью PowerShell
RUN powershell -Command
"Invoke-WebRequest -Uri 'https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.zip' -OutFile 'jdk.zip';
Развернуть- Archive -Path '.\jdk.zip' -DestinationPath 'C:\Program Files\Java'
Remove-Item -Force 'jdk.zip'
Вызов; -WebRequest -Uri 'https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.17/android-studio-2021.3.1.17-windows.zip' -OutFile 'android-studio.zip' ;
Развернуть-Архив -Путь 'android-studio.zip' -DestinationPath 'C:\Program Files'
Удалить-Item -Force 'android-studio.zip; ';
New-Item -Path 'C:\Android\cmdline-tools' -ItemType Directory
Invoke-WebRequest -Uri 'https://dl.google .com/android/repository/commandlinetools-win-7302050_latest.zip' -OutFile 'sdk-tools.zip';
Развернуть-Архив -Путь 'sdk-tools.zip' -DestinationPath 'C:\Android\cmdline-tools';
Remove-Item -Force 'sdk-tools.zip';"
Установить переменные среды
ENV JAVA_HOME= "C:\Program Files\Java\jdk-17.0.12"
ENV PATH="${JAVA_HOME}\bin;C:\Program Files\nodejs;C:\Python310\;C:\Android\cmdline -tools\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;%PATH%"
ENV ANDROID_HOME="C:\Android"
Принятие лицензии с помощью метод echo y
RUN powershell -Command
"$licenses = @('platforms;android-33', 'platform-tools', 'system-images ;android-33;google_apis;x86_64', 'эмулятор');
foreach ($license in $licenses) {
Start-Process -FilePath 'cmd.exe' -ArgumentList '/c', 'echo y | C:\Android\cmdline-tools\cmdline-tools\bin\sdkmanager.bat', $license, '--sdk_root=C:\Android' -NoNewWindow -Wait;
}"
Установить компоненты Android SDK
ЗАПУСК powershell -Command "& 'C:\Android\cmdline- инструменты\cmdline-tools\bin\sdkmanager.bat' --update"
RUN powershell -Command "& 'C:\Android\cmdline-tools\cmdline-tools\bin\sdkmanager.bat' 'platform-tools ' 'эмулятор' 'платформы;android-33' 'system-images;android-33;google_apis;x86_64'"
Установите Python, Node.js и Appium (опущено для краткости)
(Дополнительные шаги по настройке для Python, Node.js и Robot Framework)
Установите точку входа для выполнения скрипта
ENTRYPOINT ["powershell.exe", "C:\script.ps1"]
Что я пробовал:
Использование echo y | sdkmanager -- Licenses для принятия лицензий.
Создан цикл PowerShell для обработки каждой лицензии с помощью Start-Process с cmd.exe, чтобы обеспечить правильность передачи данных по конвейеру.
Проверено, установлены ли инструменты Android SDK и пути к среде. правильно в контейнере.
Несмотря на это, когда образ докера собирается, я получаю приведенное ниже предупреждение во время сборки образа.
"Принять? (да/нет): пропуск следующих пакетов, поскольку лицензия не принимается:
Android SDK Platform 33
Эмулятор Android
API Google Intel x86_64 Образ системы Atom
Инструменты платформы Android SDK
Следующие пакеты невозможно установить, поскольку их лицензии или лицензии пакетов, от которых они зависят, не были приняты:
system-images;android-33;google_apis;x86_64
platform-tools
платформы;android-33
эмулятор"
Вопрос:
Как правильно автоматизировать прием лицензий Android SDK в Docker-контейнере на базе Windows Server Core Существуют ли какие-либо конкретные конфигурации или альтернативные методы, обеспечивающие принятие лицензий в процессе сборки?
Дополнительная информация:
Базовый образ: Windows Server Core 2019 (ltsc2019)
Версия Java: JDK 17
Android SDK: инструменты командной строки версии 7302050
Python, Node.js, Appium: установлены для автоматизации мобильного тестирования с помощью Robot Framework
Подробнее здесь: [url]https://stackoverflow.com/questions/79003453/android-sdk-license-not-accepted-in-dockerfile-for-windows-server-core-on-docke[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия