i have try my best to test my android project with gradle on, but failed. can you help me with it?Thank you. This is my project: https://github.com/SnowdreamFramework/android-log and i provide my error log with the attachment.
[0K$ echo no | android create avd --force -n test -t android-21 --abi armeabi-v7a
Android 5.0 is a basic Android platform.
Do you wish to create a custom hardware profile [no]Created AVD 'test' based on Android 5.0, ARM (armeabi-v7a) processor,
with the following hardware config:
hw.cpu.model=cortex-a8
hw.lcd.density=240
hw.ramSize=512
vm.heapSize=48
travis_time:end:0d68df50:start=1416651329874810477,finish=1416651333337412612,duration=3462602135
[0Ktravis_fold:end:before_script.4
[0Ktravis_fold:start:before_script.5
[0Ktravis_time:start:15d80c70
[0K$ emulator -avd test -no-skin -no-audio -no-window &
travis_time:end:15d80c70:start=1416651333347425441,finish=1416651333353869405,duration=6443964
[0Ktravis_fold:end:before_script.5
[0Ktravis_fold:start:before_script.6
[0Ktravis_time:start:01e4ff4d
[0K$ android-wait-for-emulator
Creating filesystem with parameters:
Size: 69206016
Block size: 4096
Blocks per group: 32768
Inodes per group: 4224
Inode size: 256
Journal blocks: 1024
Label:
Blocks: 16896
Block groups: 1
Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
Waiting for emulator to start
Failed to Initialize backend EGL display
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Waiting for emulator to start
Emulator is ready
travis_time:end:01e4ff4d:start=1416651333362333914,finish=1416651367641918931,duration=34279585017
[0Ktravis_fold:end:before_script.6
[0Ktravis_fold:start:before_script.7
[0Ktravis_time:start:1f99871a
[0K$ adb shell input keyevent 82 &
travis_time:end:1f99871a:start=1416651367652665093,finish=1416651367659437822,duration=6772729
[0Ktravis_fold:end:before_script.7
[0Ktravis_time:start:0e5eb826
[0K$ TERM=dumb gradle build connectedCheck
Download https://repo1.maven.org/maven2/com/android/tools/build/gradle/0.13.3/gradle-0.13.3.pom
Download https://repo1.maven.org/maven2/net/sf/proguard/proguard-gradle/4.11/proguard-gradle-4.11.pom
Download https://repo1.maven.org/maven2/net/sf/proguard/proguard-parent/4.11/proguard-parent-4.11.pom
Download https://repo1.maven.org/maven2/com/android/tools/lint/lint/23.1.3/lint-23.1.3.pom
Download https://repo1.maven.org/maven2/com/android/tools/build/builder/0.13.3/builder-0.13.3.pom
Download https://repo1.maven.org/maven2/net/sf/proguard/proguard-base/4.11/proguard-base-4.11.pom
Download https://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/23.1.3/lint-checks-23.1.3.pom
Download https://repo1.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.2.2/ecj-4.2.2.pom
Download https://repo1.maven.org/maven2/com/android/tools/ddms/ddmlib/23.1.3/ddmlib-23.1.3.pom
Download https://repo1.maven.org/maven2/com/android/tools/build/builder-model/0.13.3/builder-model-0.13.3.pom
Download https://repo1.maven.org/maven2/com/android/tools/sdk-common/23.1.3/sdk-common-23.1.3.pom
Download https://repo1.maven.org/maven2/com/android/tools/build/manifest-merger/23.1.3/manifest-merger-23.1.3.pom
Download https://repo1.maven.org/maven2/com/android/tools/build/builder-test-api/0.13.3/builder-test-api-0.13.3.pom
Download https://repo1.maven.org/maven2/com/android/tools/common/23.1.3/common-23.1.3.pom
Download https://repo1.maven.org/maven2/com/squareup/javawriter/2.5.0/javawriter-2.5.0.pom
Download https://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
Download https://repo1.maven.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.pom
Download https://repo1.maven.org/maven2/com/android/tools/sdklib/23.1.3/sdklib-23.1.3.pom
Download https://repo1.maven.org/maven2/com/android/tools/lint/lint-api/23.1.3/lint-api-23.1.3.pom
Download https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/4.0/asm-analysis-4.0.pom
Download https://repo1.maven.org/maven2/org/ow2/asm/asm-parent/4.0/asm-parent-4.0.pom
Download https://repo1.maven.org/maven2/org/ow2/ow2/1.3/ow2-1.3.pom
Download https://repo1.maven.org/maven2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.pom
Download https://repo1.maven.org/maven2/kxml2/kxml2/2.3.0/kxml2-2.3.0.pom
Download https://repo1.maven.org/maven2/com/google/guava/guava/15.0/guava-15.0.pom
Download https://repo1.maven.org/maven2/com/google/guava/guava-parent/15.0/guava-parent-15.0.pom
Download https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.pom
Download https://repo1.maven.org/maven2/com/android/tools/layoutlib/layoutlib-api/23.1.3/layoutlib-api-23.1.3.pom
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.pom
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.1.1/httpcomponents-client-4.1.1.pom
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/project/4.1.1/project-4.1.1.pom
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.pom
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.1/httpcomponents-client-4.1.pom
Download https://repo1.maven.org/maven2/com/android/tools/dvlib/23.1.3/dvlib-23.1.3.pom
Download https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.pom
Download https://repo1.maven.org/maven2/org/apache/commons/commons-parent/33/commons-parent-33.pom
Download https://repo1.maven.org/maven2/org/apache/apache/13/apache-13.pom
Download https://repo1.maven.org/maven2/org/ow2/asm/asm/4.0/asm-4.0.pom
Download https://repo1.maven.org/maven2/com/android/tools/external/lombok/lombok-ast/0.2.2/lombok-ast-0.2.2.pom
Download https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/4.0/asm-tree-4.0.pom
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.pom
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.1/httpcomponents-core-4.1.pom
Download https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
Download https://repo1.maven.org/maven2/org/apache/commons/commons-parent/5/commons-parent-5.pom
Download https://repo1.maven.org/maven2/org/apache/apache/4/apache-4.pom
Download https://repo1.maven.org/maven2/commons-codec/commons-codec/1.4/commons-codec-1.4.pom
Download https://repo1.maven.org/maven2/org/apache/commons/commons-parent/11/commons-parent-11.pom
Download https://repo1.maven.org/maven2/com/android/tools/build/gradle/0.13.3/gradle-0.13.3.jar
Download https://repo1.maven.org/maven2/net/sf/proguard/proguard-gradle/4.11/proguard-gradle-4.11.jar
Download https://repo1.maven.org/maven2/com/android/tools/lint/lint/23.1.3/lint-23.1.3.jar
Download https://repo1.maven.org/maven2/com/android/tools/build/builder/0.13.3/builder-0.13.3.jar
Download https://repo1.maven.org/maven2/net/sf/proguard/proguard-base/4.11/proguard-base-4.11.jar
Download https://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/23.1.3/lint-checks-23.1.3.jar
Download https://repo1.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.2.2/ecj-4.2.2.jar
Download https://repo1.maven.org/maven2/com/android/tools/ddms/ddmlib/23.1.3/ddmlib-23.1.3.jar
Download https://repo1.maven.org/maven2/com/android/tools/build/builder-model/0.13.3/builder-model-0.13.3.jar
Download https://repo1.maven.org/maven2/com/android/tools/sdk-common/23.1.3/sdk-common-23.1.3.jar
Download https://repo1.maven.org/maven2/com/android/tools/build/manifest-merger/23.1.3/manifest-merger-23.1.3.jar
Download https://repo1.maven.org/maven2/com/android/tools/build/builder-test-api/0.13.3/builder-test-api-0.13.3.jar
Download https://repo1.maven.org/maven2/com/android/tools/common/23.1.3/common-23.1.3.jar
Download https://repo1.maven.org/maven2/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar
Download https://repo1.maven.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar
Download https://repo1.maven.org/maven2/com/android/tools/sdklib/23.1.3/sdklib-23.1.3.jar
Download https://repo1.maven.org/maven2/com/android/tools/lint/lint-api/23.1.3/lint-api-23.1.3.jar
Download https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/4.0/asm-analysis-4.0.jar
Download https://repo1.maven.org/maven2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar
Download https://repo1.maven.org/maven2/com/google/guava/guava/15.0/guava-15.0.jar
Download https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar
Download https://repo1.maven.org/maven2/com/android/tools/layoutlib/layoutlib-api/23.1.3/layoutlib-api-23.1.3.jar
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.jar
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.jar
Download https://repo1.maven.org/maven2/com/android/tools/dvlib/23.1.3/dvlib-23.1.3.jar
Download https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar
Download https://repo1.maven.org/maven2/org/ow2/asm/asm/4.0/asm-4.0.jar
Download https://repo1.maven.org/maven2/com/android/tools/external/lombok/lombok-ast/0.2.2/lombok-ast-0.2.2.jar
Download https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/4.0/asm-tree-4.0.jar
Download https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.jar
Download https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
Download https://repo1.maven.org/maven2/commons-codec/commons-codec/1.4/commons-codec-1.4.jar
Sonatype SNAPSHOT BUILD
GITHUB SNAPSHOT BUILD
Download https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom
Download https://repo1.maven.org/maven2/org/apache/commons/commons-parent/22/commons-parent-22.pom
Download https://repo1.maven.org/maven2/org/apache/apache/9/apache-9.pom
Download https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
:lib:androidJavadocsJar
:lib:compileLint
:lib:copyReleaseLint UP-TO-DATE
:lib:mergeReleaseProguardFiles
:lib:preBuild
:lib:preReleaseBuild
:lib:checkReleaseManifest
:lib:prepareReleaseDependencies
:lib:compileReleaseAidl
:lib:compileReleaseRenderscript
:lib:generateReleaseBuildConfig
:lib:generateReleaseAssets UP-TO-DATE
:lib:mergeReleaseAssets
:lib:generateReleaseResValues
:lib:generateReleaseResources
:lib:packageReleaseResources
:lib:processReleaseManifest
:lib:processReleaseResources
:lib:generateReleaseSources
:lib:compileReleaseJava
:lib:processReleaseJavaRes UP-TO-DATE
:lib:packageReleaseJar
:lib:compileReleaseNdk
:lib:packageReleaseJniLibs UP-TO-DATE
:lib:packageReleaseLocalJar UP-TO-DATE
:lib:packageReleaseRenderscript UP-TO-DATE
:lib:bundleRelease
:lib:assembleRelease
:lib:androidReleaseJar
:lib:androidSourcesJar
:lib:copyDebugLint UP-TO-DATE
:lib:mergeDebugProguardFiles
:lib:preDebugBuild
:lib:checkDebugManifest
:lib:prepareDebugDependencies
:lib:compileDebugAidl
:lib:compileDebugRenderscript
:lib:generateDebugBuildConfig
:lib:generateDebugAssets UP-TO-DATE
:lib:mergeDebugAssets
:lib:generateDebugResValues
:lib:generateDebugResources
:lib:packageDebugResources
:lib:processDebugManifest
:lib:processDebugResources
:lib:generateDebugSources
:lib:compileDebugJava
:lib:processDebugJavaRes UP-TO-DATE
:lib:packageDebugJar
:lib:compileDebugNdk
:lib:packageDebugJniLibs UP-TO-DATE
:lib:packageDebugLocalJar UP-TO-DATE
:lib:packageDebugRenderscript UP-TO-DATE
:lib:bundleDebug
:lib:assembleDebug
:lib:signArchives
:lib:assemble
:lib:lint
Ran lint on variant release: 7 issues found
Ran lint on variant debug: 7 issues found
Wrote HTML report to file:/home/travis/build/SnowdreamFramework/android-log/lib/build/outputs/lint-results.html
Wrote XML report to /home/travis/build/SnowdreamFramework/android-log/lib/build/outputs/lint-results.xml
:lib:check
:lib:build
:lib:compileDebugTestNdk
:lib:preDebugTestBuild
:lib:prepareDebugTestDependencies
:lib:compileDebugTestAidl
:lib:processDebugTestManifest
:lib:compileDebugTestRenderscript
:lib:generateDebugTestBuildConfig
:lib:generateDebugTestAssets UP-TO-DATE
:lib:mergeDebugTestAssets
:lib:generateDebugTestResValues
:lib:generateDebugTestResources
:lib:mergeDebugTestResources
:lib:processDebugTestResources
:lib:generateDebugTestSources
:lib:compileDebugTestJava
:lib:preDexDebugTest
:lib:dexDebugTest
:lib:processDebugTestJavaRes UP-TO-DATE
:lib:validateDebugSigning
:lib:packageDebugTest
:lib:assembleDebugTest
:lib:connectedAndroidTest
Tests on test(AVD) - 5.0 failed: No test results
com.android.builder.testing.ConnectedDevice > hasTests[test(AVD) - 5.0] [31mFAILED [0m
No tests found.
:lib:connectedAndroidTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':lib:connectedAndroidTest'.
> There were failing tests. See the report at: file:///home/travis/build/SnowdreamFramework/android-log/lib/build/outputs/reports/androidTests/connected/index.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 1 mins 23.514 secs
travis_time:end:0e5eb826:start=1416651367667280733,finish=1416651451763431060,duration=84096150327
[0K
[31;1mThe command "TERM=dumb gradle build connectedCheck" exited with 1.[0m
Done. Your build exited with 1.
Updated response: VM images already include fixed android-wait-for-emulator script and android SDK tools version 24.0.0 by default solving other issues.
Build Environment Updates - 2014-12-09
Bugged script causes your emulator don't be ready for your tests and your app is not installed due a timeout, so there are no tests performed and the build fails as a new behavior added to alert you about issues as this.
You are running on the background an outdated android-wait-for-emulator
script that exits when the ADB server is running
but your emulator is not fully booted (requires stopped
state) (See point 7).
As your emulator is not ready and exists a two minutes INSTALL_TIMEOUT
, your build fails with an InstallException
caused by ShellCommandUnresponsiveException
(See point 4).
You are trying to test an app running one command without --debug
information, you could try my suggestion on comments and use gradle installDebug --debug
and split the build (See point 2).
As you are using Travis CI build server, You need add logcat and connectedDevice logs to their output. I offer you one option that works but can be improved. Use your app module MOD_NAME=lib
(See point 5).
You need manage concurrency, try to avoid create the AVD while you download/install gradle, etc. You can use install: true
if you don't need it but I recommend you use it to install gradle (See point 3).
It's possible ignore this failure when you don't need test the app on an emulator or you still have no tests but Google added this feature to detect issues and I don't recommend that you disable it (See point 1).
You can disable run test from conflictive dependencies but is not your problem, ignore it now (See point 6).
I deleted points 8 and 9 about testing samples and sdcard usage because my response is too long but you use the sdcard on your lib and it's possible you need define another location for your sdcard, I don't know it.
Solving the emulator issue it's possible that sometimes you see the same error or other random issues as error core 137 (See point 10).
You can try to reload the job, change your configuration, use echo
so server knows your build is not failing, use adb wait-for-device
, check adb device
state, increase ADB_INSTALL_TIMEOUT
etc.
If you follow the other points, mainly to use another script and read the logs, I'm sure you'll detect and solve all the issues.
I didn't remember the real reason and you didn't share enough debug information but i solved this issue on my tests a weeks ago. I was not sure because I saved it as:
# com.android.ddmlib.InstallException. connectedAndroidTest run tests failed, (exceed timeout).
# @-- Issue: https://code.google.com/p/android/issues/detail?id=69735 (now optimize/reload job).
# @-- 144.6 --@ Solution: https://android-review.googlesource.com/#/c/112780/ (inc. install time).
Now that i think I know the solution I add comments to my previous response:
Point 1 was a work around I used when i didn't know the reason, you don't need it now. We'll solve it.
project.gradle.taskGraph.whenReady { connectedAndroidTest { ignoreFailures = true } }
Point 2 was another work around that is useful for split the build and avoid the problem if you don't need test. Your real problem is about install your app on an emulator that is not ready and seems a testing issue.
gradle build
or gradle assembleDebug assembleDebugTest
.assemble: The task to assemble the output(s) of the project
check: The task to run all the checks.
connectedCheck: Runs checks that requires a connected device or emulator.
build: This task does both assemble and check
Note that build does not depend on deviceCheck, or connectedCheck.
See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Android-tasks
checks requiring a connected device are launched with the anchor task called connectedCheck.
This depends on the task androidTest and therefore will run it. This task does the following:
- Ensure the app and the test app are built (depending on assembleDebug and assembleTest)
- install both apps
- run the tests
- uninstall both apps.
See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-tests
Point 3 was the last point adapted to Travis Yaml case. I always override install stage so I'm not sure if they currently execute gradle assemble
by default using their gradle v2.0 but the best you can do is to be sure nothing is executed without you know it and use install: true
.
./gradlew build
as the script. Or ./gradle build
if you are not using gradle wrapper. Really you have gradle wrapper and use wget, i don't understand it.install: # Check install section: http://docs.travis-ci.com/user/build-configuration/#install # If you'd like to skip the install stage entirely, set it to true and nothing will be run. - true script: # By default Travis-ci executes './gradlew build connectedCheck' if no 'script:' section found. - ./gradlew build
See Travis CI skip tests (Gradle Android project)
Point 4 is the issue/feature added by Google a weeks ago that helps that you know something is wrong. If you use --debug
you can read the reason that no test are performed. An InstallException caused by ShellCommandUnresponsiveException.
When running connectedCheck and no tests are found, it should be considered a failure. This will allow detecting issue where a bad setup leads to not running any existing tests. (Xavier Ducrohet)
When running connectedCheck and no tests are found, it should be considered a failure. The absence of tests is very different than having tests and not having them run. This feature is for the latter case (Jake Wharton)
See issue: 76249: Gradle should break if no tests are run
See feature: 108410: Running tests with no test found will now break the build.
Point 5 was my first "bash/yaml/ruby script" trying to find the response. Really needs be improved, I only knew that is parsed as Yaml, I used Bash manual and that is used by Ruby code. I added ' ' because looks ugly on github, i omitted it here. For
line is from here
I found it, and today I have found the build with after_failure logs about this: See lines 5073, 5161, 5184
before_script: # - echo 'LOGCAT' # Check logcat debug output: http://developer.android.com/tools/help/logcat.html # Check debugging log: http://developer.android.com/tools/debugging/debugging-log.html # Comment the lines belows to debug output and redirect it to a file. Custom tags for your app. - adb -e logcat *:W | tee logcat.log > /dev/null 2>&1 & after_failure: # - echo 'FAILURE' # Check apt configuration: http://docs.travis-ci.com/user/ci-environment/#apt-configuration # Comment out the lines below to show log about tests with app name customized on exports section. - sudo apt-get install -qq lynx - export MOD_NAME=yourappmodulename - export LOG_DIR=${TRAVIS_BUILD_DIR}/${MOD_NAME}/build/outputs/reports/androidTests/connected/ - lynx --dump ${LOG_DIR}com.android.builder.testing.ConnectedDevice.html > myConnectedDevice.log - lynx --dump ${LOG_DIR}com.android.builder.testing.html > myTesting.log - for file in *.log; do echo "$file"; echo "====================="; cat "$file"; done || true
Point 6 I added this only for completeness but seems useful, really i didn't try it. Ignore it now.
Point 7 I really pointed the main reason of your problem if I'm not wrong and i think the script can be improved as i tried to explain when i opened the issue about the emulator.
# Emulator Management: Create, Start and Wait 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 & - curl http://is.gd/android_wait_for_emulator > android-wait-for-emulator - chmod u+x android-wait-for-emulator - ./android-wait-for-emulator - adb shell input keyevent 82 &
See: second response here or use my script version
I delete points 8 and 9 about tests and sdcard so I follow with the final response but you use the scard on your lib and we don't have permissions where is mounted by default.
Point 10
See issue: 76249: Gradle should break if no tests are run
See feature: 108410: Running tests with no test found will now break the build.
As debug logs show here and a Google search about it, Issue 1 changed to
See issue: 69735 -Ddmlib is too agressive with timeouts in Device.java
See feature: 112780 - ddmlib: Allow install timeout to be specified as an env variable
The names are very descriptive, can be useful, i thought it and waited for the feature but then i fixed my script and configuration issues and i dont need it. So issue 2 changes to:
See issue: 2932 - New android-wait-for-emulator script needs be fixed
See fix: New android-wait-for-emulator fixed
See alternative for custom it: Original public domain script fixed and comments
See recommended link for understand it: Starting and stopping android emulators
we are running ARM version on x86 architecture without gpu-on and limited resources, I don't know if is it currently possible enable it on an VM image but probably x86 emulator versions will work better. We need install KVM and I didnt try it on Travis build servers or know if it's possible but I did it on my computer, following this guide.
Emulator for android-21 needs more time to be ready and seems the important string was changed from not found
to device not found
. Travis team fixed it but the script redirects stderr
to stdout
and seems that adb server sends the misleading message running
. They fixed it but you need the new version or an alternative as I do until VM images are updated.
If you do it and add logs to Travis output you'll see when your build has other issues as sdcard location or not. If you reload the job, it's possible that the emulator will be ready this time. You are running it on the background so it depends on what you are doing on your build. A litle change can do that Travis-ci kills a job if you don't manage the concurrency. Try to avoid downloads while the avd filesystem has been created. Remember that you use &
so you are running it on a subshell and the resources are limited using a free plan. I didn't test other plans.
If you don't manage concurrency and resources, and design a good configuration script for your specific case, its's possible that sometimes your emulator is not ready, you see an error 137, you need a higher INSTALL_TIMEOUT
and other random issues. You can try to reload the job and it's possible it works that time.
You can use adb wait-for-device
to be sure emulator state is device
before execute other heavy tasks, split the build, disable services and play with your resources. You can now use cache for public repositories if you disable sudo. I'm testing it here. I'm currently not using the cache but the container-based infrastructure seems works faster. All the jobs worked at the first time, less the 380.6 job. Issuing a ShellCommandUnresponsiveException
as I think is your problem too, solved it reloading the job but probably I need improve my .travis.yml
configuration file. So I looked for your issue, found my log and tried to improve this response.
I recommend you to use the original public domain script, fixed the string that changed and custom it for your case.
I had the same error message.
After pulling my hair out for a while I ran it against an emulator with Android 4.4.2 and it worked fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With