Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Travis ci未找到';测试';任务_Android_Gradle_Android Gradle Plugin_Travis Ci - Fatal编程技术网

Android Travis ci未找到';测试';任务

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

我有一个Android库项目,其中包括一些单元测试。测试在开发机器和现场连续集成机器上运行并通过。我现在想将项目的主机存储库连接到travisci()并在那里运行测试

我已经设置了我的travis帐户,以便travis可以访问存储库并在每次推送时运行构建,但是,构建失败,因为travis无法找到我想要运行的gradle任务

这是我的.travis.yml文件:

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