2016-09-09 41 views
5

试图开始使用我的Android项目的Travis CI,但Travis在构建我的android项目时仍然失败。特拉维斯CI - android编译失败。没有连接的设备错误

原因:

:app:connectedDebugAndroidTest FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 

Execution failed for task ':app:connectedDebugAndroidTest'. 

> com.android.builder.testing.api.DeviceException: No connected devices! 

* Try: 

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

链接到特拉维斯: https://travis-ci.org/hypeapps/Episodie/builds/158706530

.travis.yml:

language: android 
jdk: 
    - oraclejdk8 
before_install: 
- chmod +x gradlew 
env: 
    global: 
    - ANDROID_API_LEVEL=24 
    - EMULATOR_API_LEVEL=21 
    - ANDROID_BUILD_TOOLS_VERSION=24.0.1 
    - ANDROID_ABI=google_apis/armeabi-v7a 
    - ADB_INSTALL_TIMEOUT=20 # minutes (2 minutes by default) 
android: 
    components: 
    - tools 
    - tools 
    - platform-tools 
    - build-tools-$ANDROID_BUILD_TOOLS_VERSION 
    - android-$ANDROID_API_LEVEL 
    - android-$EMULATOR_API_LEVEL 
    - extra 
    - add-on 
    - extra-google-m2repository 
    - extra-android-m2repository 

    # Google Play Services 
    - extra-google-google_play_services 
    # Support library 
    - extra-android-support 

    - addon-google_apis-google-$ANDROID_API_LEVEL 
    - addon-google_apis-google-$EMULATOR_API_LEVEL 

    - sys-img-armeabi-v7a-addon-google_apis-google-$ANDROID_API_LEVEL 
    - sys-img-armeabi-v7a-addon-google_apis-google-$EMULATOR_API_LEVEL 
    licenses: 
    - 'android-sdk-preview-license-52d11cd2' 
    - 'android-sdk-license-.+' 
    - 'google-gdk-license-.+' 
    before_script: 
    - echo no | android create avd --force -n test -t "Google Inc.:Google APIs:"$EMULATOR_API_LEVEL --abi $ANDROID_ABI 
    - emulator -avd test -no-skin -no-audio -no-window & 
    - android-wait-for-emulator 

链接到文件的gradle: build.gradle

Github的项目: GitHub

回答

5

解决的办法是:

在顶部添加一行:

sudo: false 

创建模拟器管理:创建,启动和等待

before_script: 
    - echo no | android create avd --force -n test -t android-21 --abi armeabi-v7a 
    - emulator -avd test -no-skin -no-audio -no-window & 
    - android-wait-for-emulator 
    - adb shell input keyevent 82 & 

现在特拉维斯CI工作。

+2

我可以问一个问题,为什么? – fangzhzh