无法使用avdmanager创建Travis CI android模拟器

时间:2017-12-13 14:57:37

标签: android android-emulator travis-ci android-testing

我想在Travis CI中使用模拟器构建和测试Android应用程序。

在我的本地计算机上,我可以使用androidavdmanager工具创建模拟器,例如:

echo no | android create avd --force --name test01 --package 'system-images;android-27;google_apis_playstore;x86'

echo no | avdmanager create avd --force --name test02 --package 'system-images;android-27;google_apis_playstore;x86' 

但是在Travis上,$ ANDROID_HOME / tools / bin中没有avdmanager

enter image description here

当我尝试使用android工具创建模拟器时(由于它已被弃用,这是不可取的),结果发现它与我的mac上安装的版本不同,需要不同的参数

enter image description here

我的.travis.yml文件(为清晰起见,删除了vars和构建步骤):

sudo: true
os: linux
dist: trusty
language: android

android:
  components:
  - build-tools-26.0.2
  - android-26

before_script:
- echo no | android create avd --force --name test --package 'system-images;android-27;google_apis_playstore;x86'
#- echo no | avdmanager create avd --force --name test --package 'system-images;android-27;google_apis_playstore;x86'

script:
- echo "DEBUG searching for avdmanager" && ls -lAp $ANDROID_HOME/tools/bin

那么请您建议我如何在Travis CI中创建Android模拟器?

1 个答案:

答案 0 :(得分:1)

在玩完官方方式后,我发现在travis上启动一个模拟器的最简单方法至少在travis.xml

before_install:
  # Install SDK license so Android Gradle plugin can install deps.
  - mkdir "$ANDROID_HOME/licenses" || true
  - echo "d56f5187479451eabf01fb78af6dfcb131a6481e" >> "$ANDROID_HOME/licenses/android-sdk-license"
  # Install the rest of tools (e.g. avdmanager)
  - sdkmanager tools
  # Install the system image.
  - sdkmanager "system-images;android-24;default;armeabi-v7a"
  # Create and start emulator for the script. Meant to race the install task.
  - echo no | avdmanager create avd --force -n emulatorApi24 -k "system-images;android-24;default;armeabi-v7a"
  - $ANDROID_HOME/emulator/emulator -avd emulatorApi24 -no-audio -no-window &

before_script:
  - android-wait-for-emulator
  # Disable animations
  - adb shell settings put global window_animation_scale 0 &
  - adb shell settings put global transition_animation_scale 0 &
  - adb shell settings put global animator_duration_scale 0 &
  - adb shell input keyevent 82 &

script: ./gradlew connectedAndroidTest # Run emulator tests

现在我的travis构建需要20分钟:D

作为参考,检查工作示例的好地方是U+2020 project