用Gradle构建的Android项目在Jenkins上失败

用Gradle构建的Android项目在Jenkins上失败,android,jenkins,android-gradle-plugin,Android,Jenkins,Android Gradle Plugin,我正在尝试使用詹金斯和格雷德尔构建一个Android项目。编译UnitTestJava任务时生成失败,找不到在测试中导入的任何类。在Android Studio中,运行测试没有问题,但在Jenkins上构建失败 项目中包括的测试如下: package mobile_teacher.test; import android.content.Intent; import android.test.ActivityUnitTestCase; import mobile_teacher.R; im

我正在尝试使用詹金斯和格雷德尔构建一个Android项目。编译UnitTestJava任务时生成失败,找不到在测试中导入的任何类。在Android Studio中,运行测试没有问题,但在Jenkins上构建失败

项目中包括的测试如下:

package mobile_teacher.test;

import android.content.Intent;
import android.test.ActivityUnitTestCase;

import mobile_teacher.R;
import mobile_teacher.src.DashboardActivity;

/**
 * Created by blavi on 6/2/14.
 */
public class DashboardTest extends ActivityUnitTestCase<DashboardActivity> {

    public DashboardActivity activity;

    public DashboardTest() {
        super(DashboardActivity.class);
    }

    @Override
    public void setUp() throws Exception {
        super.setUp();
        Intent intent = new Intent(getInstrumentation().getTargetContext(),
                DashboardActivity.class);
        startActivity(intent, null, null);
        activity = getActivity();
    }

    public void testLayout(){
        assertNotNull(activity.findViewById(R.id.lessonsList));
    }
}

你的詹金斯在哪里?它与您的开发帖子的架构相同吗?如果不是,我建议首先在控制台上启动第一个graddle命令。我遇到了一个问题,这个项目不是用graddle插件为jenkins构建的,而是用命令行成功构建的。如果有效(或无效),我们可能会进一步调查。此外,您是否尝试过启动:graddle--stacktrace和graddle--debug?我已经修复了它。未在android配置中指定源集。我编辑了build.gradle。现在,当我在Jenkins上构建项目时,我收到的是unit.framework.TestSuite$1.warning失败junit.framework.AssertionFailedError,位于TestSuite.java:97,原因是:org.gradle.api.GradleException:有失败的测试。即使有空测试或根本没有测试方法,我也会收到这个异常。
 android {
    compileSdkVersion 19
    buildToolsVersion '19.1.0'

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }

    sourceSets {
        main {
            manifest.srcFile 'src/main/AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['src/main/res']
        }
    }

    lintOptions {
        abortOnError false
    }
}
    // extend the runtime
    configurations {
        unitTestCompile.extendsFrom runtime
        unitTestRuntime.extendsFrom unitTestCompile
    }

    dependencies {
        compile files('libs/libGoogleAnalyticsServices.jar')
        compile 'com.android.support:appcompat-v7:19.0.0'
        compile 'com.google.android.gms:play-services:4.3.23'

        unitTestCompile files("$project.buildDir/classes/release")
        unitTestCompile 'junit:junit:4.11'
        unitTestCompile 'com.google.android:android:4.0.1.2'
        unitTestCompile 'com.google.android:android-test:4.1.1.4'
    }

    // add a new unitTest sourceSet
    sourceSets {
        unitTest {
            java.srcDir file('src/tests/java')
        }
    }

    // add the unitTest task
    task unitTest(type:Test, dependsOn: assemble) {
        description = "run unit tests"
        testClassesDir = project.sourceSets.unitTest.output.classesDir
        classpath = project.sourceSets.unitTest.runtimeClasspath
    }

    check.dependsOn unitTest