Ошибка при запуске эмулятора Android x86 в Travis CI

Когда я запустил

android connectedCheck

с эмулятором ARM в Трэвисе, сборка обычно заканчивается ошибкой Timeout. Поэтому я вместо этого пытаюсь запустить мою сборку и тесты с помощью эмулятора x86. Но когда я запускаю команду:

emulator -avd test -no-skin -no-audio -no-window &

Я получаю эту ошибку:

emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure KVM is properly installed and usable.
CPU acceleration status: KVM is not installed on this machine (/dev/kvm is missing).

Я заметил в документах Travis CI, что, похоже, есть поддержка эмуляторов x86, поэтому я просто понимаю, что это возможно. Но я не смог найти ссылки на то, чтобы заставить их работать с аппаратным ускорением. Я также попытался выполнить эту команду:

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

перед созданием эмулятора, но я все равно получаю ту же ошибку.

Вот мой .travis.yml script:

language: android
jdk: oraclejdk7

env:
  global:
    - ANDROID_BUILD_API_LEVEL=22
    - ANDROID_BUILD_TOOLS_VERSION=22.0.1
    - ANDROID_ABI=default/x86
    - ANDROID_EMULATOR_API_LEVEL=19

android:
  components:
    #- platform-tools
    #- tools
    - build-tools-$ANDROID_BUILD_TOOLS_VERSION
    - android-$ANDROID_BUILD_API_LEVEL
    - android-$ANDROID_EMULATOR_API_LEVEL

    - addon-google_apis_x86-google-$ANDROID_EMULATOR_API_LEVEL

    - extra-google-google_play_services
    - extra-android-support
    - extra-google-m2repository
    - extra-android-m2repository

    - sys-img-x86-android-$ANDROID_EMULATOR_API_LEVEL

notifications:
  email: true

before_script:
  - sudo apt-get update -qq
  - sudo apt-get install -qq libstdc++6:i386 lib32z1 expect
  # for gradle output style
  - export TERM=dumb

  # environment info
  - ./gradlew -v
  - uname -a

  # emulator
  - echo no | android create avd --force -n test -t "Google Inc.:Google APIs (x86 System Image):"$ANDROID_EMULATOR_API_LEVEL --abi $ANDROID_ABI
  - emulator -avd test -no-skin -no-audio -no-window &
  - android-wait-for-emulator
  - adb shell input keyevent 82 &

# build
script:
  - ./gradlew clean connectedCheck -PdisablePreDex

Кто-нибудь получил это, чтобы работать раньше?

Ответ 1

Интеллектуальные эмуляторы Intel еще не запущены на Travis. Поскольку Travis запускает виртуальные машины, аппаратное ускорение на виртуальной машине на другой виртуальной машине - это трудная вещь.

Теперь вы должны запустить эмуляторы ARM.

Они могут сделать это в ближайшем будущем. Подпишитесь на эту проблему, чтобы получать уведомления. https://github.com/travis-ci/travis-ci/issues/1419