Gitlab CI. MIML Android - PullRequest
       6

Gitlab CI. MIML Android

0 голосов
/ 09 октября 2018

Я пытаюсь настроить CI gitlab и не могу найти информацию об ошибке, которую я получаю от gitlab runner.Вот файл .yml:

image: openjdk:8-jdk

variables:
ANDROID_COMPILE_SDK: "28"
ANDROID_BUILD_TOOLS: "28.0.3"
ANDROID_SDK_TOOLS: "28.0.3"

 before_script:
    - apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip 
   https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
- unzip -q android-sdk.zip -d android-sdk-linux
- echo y | android-sdk-linux/tools/android --silent update sdk --no-ui -- all 
--filter android-${ANDROID_COMPILE_SDK}
- echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all 
--filter platform-tools
- echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all 
--filter build-tools-${ANDROID_BUILD_TOOLS}
- echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all 
--filter extra-android-m2repository
- echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all 
--filter extra-google-google_play_services
- echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all 
--filter extra-google-m2repository
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/
- chmod +x ./gradlew

stages:
  - build
  - test

build:
stage: build
script:
  - ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/

И, наконец, ошибка:

Processing triggers for libc-bin (2.24-11+deb9u3) ...
$ wget --quiet --output-document=android-sdk.zip 
https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
$ unzip -q android-sdk.zip -d android-sdk-linux
$ echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all 
--filter android-${ANDROID_COMPILE_SDK}
************************************************************************* 
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Unrecognized argument --silent
ERROR: Job failed: exit code 1

Что мне делать в этом случае?Не могу найти никакой информации об этом.Я пытался изменить путь, но это не помогло.

Ответы [ 3 ]

0 голосов
/ 22 ноября 2018

Вам нужно использовать sdkmanager для установки Android SDK вместо устаревшей команды "android".

Вот пример , как настроить Android SDK в моемФайл Docker

0 голосов
/ 26 марта 2019

Попробуйте эти команды и убедитесь, что вы изменили версии SDK для компиляции в соответствии с вашим приложением. Конфигурация GITLAB CI должна быть изменена при изменении настроек gradle APP.

image: openjdk:8-jdk

variables:
  ANDROID_COMPILE_SDK: "26"
  ANDROID_BUILD_TOOLS: "28.0.3"
  ANDROID_SDK_TOOLS:   "4333796"

before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip
- unzip -d android-sdk-linux android-sdk.zip
- echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null
- echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/
- chmod +x ./gradlew
# temporarily disable checking for EPIPE error and use yes to accept all licenses
- set +o pipefail
- yes | android-sdk-linux/tools/bin/sdkmanager --licenses
- set -o pipefail

cache:
  paths:
  - .gradle/wrapper
  - .gradle/caches
  - android-sdk

stages:
- build

assembleDebug:
  stage: build
  script:
  - ./gradlew assembleDebug
  artifacts:
    paths:
    - app/build/outputs/
0 голосов
/ 13 октября 2018

Если вы хотите просто построить свой проект (с этапом модульных тестов), вы можете попробовать простой CI-скрипт gitlab, который я использую в моем проекте фрагмент gitlab .

Я неуверен, что это будет работать с инструментами сборки версии 28, но вы можете поэкспериментировать с этими параметрами.

...