android - 在 Travis CI 中启动 Android x86 模拟器时出错

标签 android travis-ci

当我运行时

android connectedCheck

在 Travis 中使用 ARM 模拟器,构建通常会因超时错误而结束。所以我改为尝试使用 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 脚本:

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

有没有人让这个工作过?

最佳答案

Intel 模拟器还不能在 Travis 上运行。由于 Travis 运行虚拟机,因此在另一个虚拟机中的虚拟机中进行硬件加速是一件困难的事情。

您现在必须运行 ARM 模拟器。

他们可能会在不久的将来做到这一点。订阅此问题以获取通知。 https://github.com/travis-ci/travis-ci/issues/1419

关于android - 在 Travis CI 中启动 Android x86 模拟器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30355039/

相关文章:

android - 如何为具有不同功能的Android应用程序添加多个主页快捷方式

android - 依赖于 Intent 的 Espresso startActivity

javascript - 为什么 bcrypt 在 TravisCI 上显示错误?

webpack - Nightmare 在特拉维斯坠毁: `nightmare:log crashed [{},false]`

python - 如何在 Travis CI 上测试 Jupyter 笔记本?

database - 需要上下文的 Android 单元测试

android - 更改和删除的动画不适用于 RecyclerView

java - 无法导入 android.hardware.camera2.params.StreamConfiguration

java - Java 的 Travis CI yml 文件示例

amazon-web-services - AWS EMR 上的持续集成