Android studio Android Studio没有';t在Make项目期间为Java库模块编译测试类

Android studio Android Studio没有';t在Make项目期间为Java库模块编译测试类,android-studio,intellij-idea,gradle,Android Studio,Intellij Idea,Gradle,我在Android Studio 2.2.3中有一个多项目的Gradle构建,包含Java库(core和codegen)和Android库(Android)模块生成项目显示Gradle控制台中执行的任务: Executing tasks: [:android:generateDebugSources, :android:generateDebugAndroidTestSources, :android:mockableAndroidJar, :android:prepareDebugUnitTe

我在Android Studio 2.2.3中有一个多项目的Gradle构建,包含Java库(
core
codegen
)和Android库(
Android
)模块<代码>生成项目显示Gradle控制台中执行的任务:

Executing tasks: [:android:generateDebugSources, :android:generateDebugAndroidTestSources, :android:mockableAndroidJar, :android:prepareDebugUnitTestDependencies, :android:compileDebugSources, :android:compileDebugAndroidTestSources, :android:compileDebugUnitTestSources, :codegen:compileJava, :core:compileJava]
但是
compileJava
只编译主类路径,而不编译测试,并且
testClasses
未列出
core
codegen
的任务。另一方面,
/gradlew build
确实运行
testClasses

如何让Android Studio也为Java库模块编译测试

settings.gradle

include 'core'
include 'codegen'
include 'android'
buildscript {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
}

dependencies {
}
apply plugin: 'java'

version = '1.0.0'
sourceCompatibility = '1.7'

sourceSets {
    generated {
        java {
            srcDirs = ['src/generated/java']
        }
    }
}

test {
    filter {
    }
}

dependencies {
    compile fileTree(dir: '../lib', include: '*.jar')
    generatedCompile project(':core')
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
    compile 'org.javatuples:javatuples:1.2'
}
apply plugin: 'java'

dependencies {
    compile project(':core')
    compile group: 'com.squareup', name: 'javapoet', version: '1.8.0'
}
apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"

    defaultConfig {
        minSdkVersion 24
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        disable 'OldTargetApi'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':core')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.0', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}
Main
build.gradle

include 'core'
include 'codegen'
include 'android'
buildscript {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
}

dependencies {
}
apply plugin: 'java'

version = '1.0.0'
sourceCompatibility = '1.7'

sourceSets {
    generated {
        java {
            srcDirs = ['src/generated/java']
        }
    }
}

test {
    filter {
    }
}

dependencies {
    compile fileTree(dir: '../lib', include: '*.jar')
    generatedCompile project(':core')
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
    compile 'org.javatuples:javatuples:1.2'
}
apply plugin: 'java'

dependencies {
    compile project(':core')
    compile group: 'com.squareup', name: 'javapoet', version: '1.8.0'
}
apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"

    defaultConfig {
        minSdkVersion 24
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        disable 'OldTargetApi'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':core')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.0', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}
core/build.gradle

include 'core'
include 'codegen'
include 'android'
buildscript {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
}

dependencies {
}
apply plugin: 'java'

version = '1.0.0'
sourceCompatibility = '1.7'

sourceSets {
    generated {
        java {
            srcDirs = ['src/generated/java']
        }
    }
}

test {
    filter {
    }
}

dependencies {
    compile fileTree(dir: '../lib', include: '*.jar')
    generatedCompile project(':core')
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
    compile 'org.javatuples:javatuples:1.2'
}
apply plugin: 'java'

dependencies {
    compile project(':core')
    compile group: 'com.squareup', name: 'javapoet', version: '1.8.0'
}
apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"

    defaultConfig {
        minSdkVersion 24
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        disable 'OldTargetApi'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':core')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.0', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}
codegen/build.gradle

include 'core'
include 'codegen'
include 'android'
buildscript {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
}

dependencies {
}
apply plugin: 'java'

version = '1.0.0'
sourceCompatibility = '1.7'

sourceSets {
    generated {
        java {
            srcDirs = ['src/generated/java']
        }
    }
}

test {
    filter {
    }
}

dependencies {
    compile fileTree(dir: '../lib', include: '*.jar')
    generatedCompile project(':core')
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
    compile 'org.javatuples:javatuples:1.2'
}
apply plugin: 'java'

dependencies {
    compile project(':core')
    compile group: 'com.squareup', name: 'javapoet', version: '1.8.0'
}
apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"

    defaultConfig {
        minSdkVersion 24
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        disable 'OldTargetApi'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':core')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.0', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}
android/build.gradle

include 'core'
include 'codegen'
include 'android'
buildscript {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven {
            url "http://10.122.85.159:9081/nexus/content/groups/public"
        }
    }
}

dependencies {
}
apply plugin: 'java'

version = '1.0.0'
sourceCompatibility = '1.7'

sourceSets {
    generated {
        java {
            srcDirs = ['src/generated/java']
        }
    }
}

test {
    filter {
    }
}

dependencies {
    compile fileTree(dir: '../lib', include: '*.jar')
    generatedCompile project(':core')
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
    compile 'org.javatuples:javatuples:1.2'
}
apply plugin: 'java'

dependencies {
    compile project(':core')
    compile group: 'com.squareup', name: 'javapoet', version: '1.8.0'
}
apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"

    defaultConfig {
        minSdkVersion 24
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        disable 'OldTargetApi'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':core')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.0', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}

您可以发布./gradlew compileJava和./gradlew build的输出吗?我有一个类似的问题。你的问题解决了吗?