gitlab ci .yml android

时间:2018-10-09 07:19:38

标签: android continuous-integration gitlab

我正在尝试设置gitlab CI,但找不到从gitlab运行程序中获取的有关错误的任何信息。这是.yml文件:

KeyValuePair

最终错误是:

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/

在这种情况下我该怎么办?找不到有关此的任何信息。 我试图更改路径,但无济于事。

3 个答案:

答案 0 :(得分:0)

如果您只想构建项目(具有单元测试阶段),则可以尝试在项目gitlab snippet中使用的简单gitlab CI脚本。

我不确定这是否可以与版本28的构建工具一起使用,但是您可以尝试使用这些参数。

答案 1 :(得分:0)

您需要使用sdkmanager来设置Android SDK,而不要使用不推荐使用的“ android”命令。

这是example如何在Docker文件中设置Android SDK的方法

答案 2 :(得分:0)

尝试使用此命令并确保已根据您的APP更改了sdk编译版本。当APP gradle的配置更改时,应更改GITLAB CI配置。

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/