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

3

我希望能够在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和build步骤已删除以保持清晰):

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

您好,我可以帮助您翻译关于IT技术方面的问题。以下是您需要翻译的内容:

请问如何在Travis CI中创建Android模拟器?

1个回答

4

在尝试过官方方式后,我发现在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项目


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接