Android Travis ci未找到';测试';任务
我有一个Android库项目,其中包括一些单元测试。测试在开发机器和现场连续集成机器上运行并通过。我现在想将项目的主机存储库连接到travisci()并在那里运行测试 我已经设置了我的travis帐户,以便travis可以访问存储库并在每次推送时运行构建,但是,构建失败,因为travis无法找到我想要运行的gradle任务 这是我的.travis.yml文件:Android Travis ci未找到';测试';任务,android,gradle,android-gradle-plugin,travis-ci,Android,Gradle,Android Gradle Plugin,Travis Ci,我有一个Android库项目,其中包括一些单元测试。测试在开发机器和现场连续集成机器上运行并通过。我现在想将项目的主机存储库连接到travisci()并在那里运行测试 我已经设置了我的travis帐户,以便travis可以访问存储库并在每次推送时运行构建,但是,构建失败,因为travis无法找到我想要运行的gradle任务 这是我的.travis.yml文件: language: android before_install: - chmod +x gradlew script: ./gr
language: android
before_install:
- chmod +x gradlew
script: ./gradlew :myproject:test
android:
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-24.0.2
# The SDK version used to compile your project
- android-24
这是我的app/build.gradle文件:
apply plugin: 'com.android.library'
android {
compileSdkVersion 24
buildToolsVersion '24.0.2'
defaultConfig {
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName version
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
testOptions {
unitTests.returnDefaultValues = true
}
}
dependencies {
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.19'
compile 'com.android.support:appcompat-v7:24.2.1'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是我的root build.gradle文件:
apply plugin: 'com.android.library'
android {
compileSdkVersion 24
buildToolsVersion '24.0.2'
defaultConfig {
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName version
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
testOptions {
unitTests.returnDefaultValues = true
}
}
dependencies {
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.19'
compile 'com.android.support:appcompat-v7:24.2.1'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
}
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是travis的输出(去掉不必要的细节):
我试过不使用gradle包装器,但没有用
你知道哪里出了问题吗?问题可能出在这一行:
script: ./gradlew :myproject:test
试一试
或
更新:语法
如前所述:
要执行特定子项目的任务,请指定其任务路径。
例如:
gradle :ABC:build
前导的:
代表根项目<代码>ABC是子项目,
并在该项目中构建一个任务
或者,为所有模块/子项目执行所需的任务:
gradle build
如果只需要执行根项目的任务,请使用注释的下一种格式:
我在使用JaCoCo插件时使用了./gradlew JacoTestReleaseUnitTestReport,但格式与您的建议相同。我对预期的Gradle格式添加了一个更通用的解释。无论如何,问题是“Travis ci未找到‘测试’任务”,答案是正确的。
gradle build
gradle :build