设置GitLab CI时如何解决未知的皮肤名称“ WVGA800”错误?

时间:2018-08-06 08:32:29

标签: android continuous-integration gitlab

我是CI的新手,我正在尝试在Android的GitLab上设置CI,这是我的.gitlab-ci.yml文件:

image: openjdk:8-jdk

variables:
 ANDROID_COMPILE_SDK: "27"
 ANDROID_BUILD_TOOLS: "24.0.0"
 ANDROID_SDK_TOOLS: "24.4.1"

before_script:
 - apt-get --quiet update --yes
 - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
 - wget --quiet --output-document=android-sdk.tgz  https://dl.google.com/android/android-sdk_r${ANDROID_SDK_TOOLS}-   linux.tgz
 - tar --extract --gzip --file=android-sdk.tgz
 - mkdir android-sdk-linux/licenses
 - printf "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > android-sdk-linux/licenses/android-sdk-license
 - printf "84831b9409646a918e30573bab4c9c91346d8abd" > android-sdk-linux/licenses/android-sdk-preview-license
 - 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_SDK_ROOT=$PWD/android-sdk-linux/platform-tools/
 - 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/

unitTests:
 stage: test
 script:
   - ./gradlew test

functionalTests:
 stage: test
 script:
  - wget --quiet --output-document=android-wait-for-emulator https://raw.githubusercontent.com/travis-ci/travis-cookbooks/0f497eb71291b52a703143c5cd63a217c8766dc9/community-cookbooks/android-sdk/files/default/android-wait-for-emulator
  - chmod +x android-wait-for-emulator
  - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter sys-img-x86-google_apis-${ANDROID_COMPILE_SDK}
  - echo no | android-sdk-linux/tools/android create avd -n avd$AVD_SDK -t android-${ANDROID_COMPILE_SDK} --abi google_apis/x86
  - android-sdk-linux/tools/emulator64-x86 -avd avd$AVD_SDK -no-window -no-audio &
  - ./android-wait-for-emulator
  - adb shell input keyevent 82 &
  - ./gradlew cAT
artifacts:
  paths:
  - app/build/reports/androidTests/

我上面的脚本构建了我的应用程序,但是当它运行FunctionalTest时,出现此错误:
emulator: ERROR: unknown skin name 'WVGA800' 然后我用-no-skin参数创建了我的AVD,现在出现了这个错误:

$ android-sdk-linux/tools/emulator64-x86 -avd avd$AVD_SDK -no-skin -no-window -no-audio &
$ ./android-wait-for-emulator
emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is defined (/builds/myRepo/myProject/android-sdk-linux/platform-tools/) but cannot find kernel file in /builds/myRepo/myProject/android-sdk-linux/platform-tools/system-images/ sub directories

我一直关注this guide,但对我没有真正的帮助。有谁知道如何解决此问题?

0 个答案:

没有答案