Android studio Android Studio没有';t在Make项目期间为Java库模块编译测试类
我在Android Studio 2.2.3中有一个多项目的Gradle构建,包含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
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'
}
Mainbuild.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的输出吗?我有一个类似的问题。你的问题解决了吗?