我猜这是travis-ci支持吗?我是从他们的网站发送到这里的。我想我应该在这里问这个问题。
所以我将谷歌分析添加到我的应用程序中,为此,我必须将gradle更新为版本2.10以获取其插件。完成后,所有travis-ci都运行了我的构建,但是每次构建都会出现以下错误:
com.android.builder.testing.ConnectedDevice > No tests found.[test(AVD) - 5.0.2] FAILED
当我使用gradle2.2.1.-all时,这不是问题。
要更新,我更改了distributionUrl
gradle/wrapper/gradle-wrapper.properties
有人知道解决这个问题吗?我所有的其他分支都很好,我没有做出这种改变。
这里的参考是我的travis.yml,我没有改变它,只是更新了gradle。
language: android
jdk: oraclejdk7
android:
components:
- platform-tools
- tools
- build-tools-23.0.2
- android-23
- sys-img-armeabi-v7a-android-21
- extra-android-support
- extra-android-m2repository
- extra-google-m2repository
- extra-gooogle-google_play_services
env:
global:
- ADB_INSTALL_TIMEOUT=8
- MALLOC_ARENA_MAX=2
sudo: false
cache:
directories:
- $HOME/.gradle/caches/2.8
- $HOME/.gradle/caches/jars-1
- $HOME/.gradle/daemon
- $HOME/.gradle/native
- $HOME/.gradle/wrapper
before_install:
- export ANDROID_HOME=/usr/local/android-sdk
- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
- echo "sdk.dir=$ANDROID_HOME" > local.properties
notifications:
slack: caketechnologies:pnmNEHM1ZxudlMZNTv6oVgcT
install:
- TERM=dumb ./gradlew -s assembleDemoDebug
before_script:
# Create and start emulator
- 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:
- ./gradlew connectedAndroidTest -PdisablePreDex --stacktrace
答案 0 :(得分:5)
这是我的.travis.yml文件。在开始构建之前下载gradle 2.10,因为它还没有在Travis中。
language: android
jdk:
- oraclejdk8
env:
matrix:
- ANDROID_TARGET=android-21 ANDROID_ABI=armeabi-v7a
global:
- ADB_INSTALL_TIMEOUT=8
android:
components:
- build-tools-23.0.3
- android-23
- add-on
- extra
- sys-img-armeabi-v7a-android-21
before_script:
- wget http://services.gradle.org/distributions/gradle-2.10-bin.zip
- unzip gradle-2.10-bin.zip
- export GRADLE_HOME=$PWD/gradle-2.10
- export PATH=$GRADLE_HOME/bin:$PATH
希望它有所帮助。
答案 1 :(得分:0)
这些建议无法解决问题,请忽略此回复
您正在使用android gradle插件1.5,但您昨天更新了google play services插件到2.0.0.x以支持google-services.json用于不同的productFlavors。他们从1.5更新到2.0.0.x here。我会尝试将android gradle插件更新为2.0.0.x,如下所示:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
classpath 'com.google.gms:google-services:2.0.0-beta6'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
上次更新: 我没有使用此插件版本,也许将gradle插件版本更新为2.0.0.X就像here一样解决了这个问题。
如果没有Travis-ci上的PATH更改,我尝试了一次,他们已经导出了他们的默认位置,我现在不确定,但这对我来说是一个问题,我在一开始。
<强>更新强>
由于这个答案没有解决问题,额外的建议:
./gradlew build connectedCheck -PdisablePreDex --debug
--debug
,以便了解真正的原因第一个回答:
也许您需要clearing-caches或更改此行:
- $HOME/.gradle/caches/2.8
通过
- $HOME/.gradle/caches/
我想你应该注释下一行以丢弃与缓存相关的问题:
sudo: false
cache:
directories:
- $HOME/.gradle/caches/2.8
- $HOME/.gradle/caches/jars-1
- $HOME/.gradle/daemon
- $HOME/.gradle/native
- $HOME/.gradle/wrapper
答案 2 :(得分:0)
作为替代方案,请使用gradle wrapper(aka gradlew)。特拉维斯使用gradlew(如果有的话)。