Travis CI Android Tests: no connected devices Travis CI Android Tests: no connected devices android android

Travis CI Android Tests: no connected devices


Unfortunately i am not allowed to comment, as i just want to complete DominicJodoin's answer. Correct indentation and a longer ADB_INSTALL_TIMEOUT is necessary as DominicJodoin already stated.

In my opinion your Emulator is running but not ready to install an apk. With - adb wait-for-device you wait until the device connected. According to the Documentation this means:

Note that this command does not cause adb to wait until the entire system is fully booted. For that reason, you should not prepend it to other commands that require a fully booted system.

Try replacing this line with - android-wait-for-emulator in your travis.yml instead.

Travis.yml

language: androidjdk: oraclejdk7cache:  directories:   - node_modulessudo: falseandroid:  components:   # Uncomment the lines below if you want to    # use the latest revision of Android SDK Tools    # - platform-tools    # - tools    # The BuildTools version used by your project    - build-tools-22.0.1    # The SDK version used to compile your project    - android-22    # Additional components    - extra-google-google_play_services    - extra-google-m2repository    - extra-android-m2repository    # - addon-google_apis-google-19    # - add-on    # - extra    # Specify at least one system image,    # if you need to run emulator(s) during your tests    - sys-img-armeabi-v7a-android-21    # - sys-img-x86-android-17  licenses:   - 'android-sdk-license-.+'env:  global:   # install timeout in minutes (2 minutes by default)    - ADB_INSTALL_TIMEOUT=8# Emulator Management: Create, Start and Waitbefore_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 &script:  - android list target  - ./gradlew connectedAndroidTest


I think your problem is the sys-img-armeabi-v7a-android-22 image is not available yet on Travis CI.

Indeed if you run the following command on Travis CI: android list target, the output for android-22 shows no Tag/ABIs : no ABIs.

I would suggest you try running your tests on the sys-img-armeabi-v7a-android-21 in the meantime.

You can have a look at a sample Android project with unit tests I forked and ran successfully with your components but with sys-img-armeabi-v7a-android-21 image on Travis CI:

Hope this helps!

Edit: android-22 image should be available shortly on Travis CI. See the following pull request.


I wanted to use a more recent emulator. Unfortunately I wasn't able to make it work on android-26 or 27, but I was able to make it work on android-25. The ABI names were changed. Here's what works for me:

language: androidjdk:  - oraclejdk8env:  global:    - ANDROID_BUILD_TOOLS_VERSION=26.0.2    - ANDROID_ABI=arm64-v8a    - ANDROID_TAG=google_apis    - ANDROID_API_LEVEL=26    - EMULATOR_API_LEVEL=25    - ADB_INSTALL_TIMEOUT=8 # minutes (2 minutes by default)android:  components:    # Uncomment the lines below if you want to    # use the latest revision of Android SDK Tools    - tools    - platform-tools    - tools    # The BuildTools version used by your project    - build-tools-$ANDROID_BUILD_TOOLS_VERSION    # The SDK version used to compile your project    - android-$ANDROID_API_LEVEL    - android-$EMULATOR_API_LEVEL    # Support library    # Latest artifacts in local repository    - extra-android-m2repository    # Specify at least one system image,    # if you need to run emulator(s) during your tests    - sys-img-$ANDROID_ABI-$ANDROID_TAG-$EMULATOR_API_LEVELbefore_cache:  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/cache:  directories:    - $HOME/.gradle/caches/    - $HOME/.gradle/wrapper/# Emulator Management: Create, Start and Waitbefore_script:  - android list targets  - echo no | android create avd --force -n test -t "android-"$EMULATOR_API_LEVEL --abi $ANDROID_ABI --tag $ANDROID_TAG  - emulator -list-avds  - emulator -avd test -no-window &  - android-wait-for-emulator  - adb devices  - adb shell input keyevent 82 &