如何在Gradle中区分应用的主代码和测试代码编译?
时间: 2024-11-09 21:25:54 浏览: 6
在Gradle中区分应用的主代码和测试代码编译,主要是通过`sourceSets`和`dependencies`的配置。以下是基本步骤:
1. **定义源集**:
首先,在`build.gradle`文件中创建`sourceSets`块,其中包含两个常见的源集,如`main`(主代码)和`test`(测试代码):
```groovy
android {
sourceSets {
main {
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/res']
}
test {
java.srcDirs = ['src/test/java']
resources.srcDirs = ['src/test/res']
}
}
}
```
2. **配置源码目录**:
`main`源集用于存放应用程序的主要代码,`test`则存放单元测试和集成测试代码。
3. **添加依赖**:
在`dependencies`部分为每个源集添加相应的依赖。对于`test`源集,通常会添加JUnit或Mockito这样的测试框架依赖,而`main`源集则包括安卓框架和其他生产依赖:
```groovy
dependencies {
implementation 'com.android.application:appcompat:version'
testImplementation 'junit:junit:version' // 测试框架依赖
androidTestImplementation 'androidx.test.ext:junit:version' // Android单元测试框架依赖
androidTestImplementation 'androidx.test.espresso:espresso-core:version' // Espresso UI测试框架依赖
}
```
4. **编译命令**:
使用`assemble`任务可以编译整个项目,而`assembleDebug`和`assembleRelease`命令分别针对调试和发布模式编译主代码,`assembleTest`则只编译测试代码。
阅读全文