Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

效果如下:

点击app右侧的箭头,可进行debug和release模式的切换,相应依赖和被依赖的项目也进行debug和release的切换,点击运行,即可进行相应模式的运行:

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

讲解如下:

data 主要存放下公用的方法和变量,其他项目需依赖data项目,data不依赖任何项目

如下:data只有一个模式,不需区分debug和release,所以buildType只写一种就行,且不需要依赖,所以compile不需要写

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

build.gradle文件配置如下:

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

net主要是网络请求,其他项目需依赖net项目,net依赖data

如下:

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

net的build.gradle文件如下:因为data只有一个模式,不需区分debug还是release,所以net依赖只写

compile project(':data')

但是net需要区分debug模式还是release模式,所以buildTypes 要设置区分

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

driver主要存放和硬件相关和设备相关的,其他项目需依赖driver项目,driver只依赖data,data没有区分debug还是release,所以 只写 compile project(“:data”)即可。

并且driver自己也不需要区分debug模式和release模式 所以buildType 只写一个release即可。

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

build.gradle配置如下:

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

domain 只依赖net,

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

但是呢,net分为debug和release模式,所以compile 要写两种 如下:

依赖domain的APP项目需要debug和release的切换,所以domain的 buildType也要区分两种,如下:

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

app ——接下来就是重要的APP主项目了,所有的业务逻辑所在,主项目,是主导debug和release模式进行切换的。它所要依赖的那个,也就是被依赖的,如上面,已配置好。它本身又主导debug和release模式,所以buildType也要区分debug和release模式。

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

build.gradle配置如下:

主项目,是主导debug和release模式进行切换的

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖

它所依赖的data和driver 不需区分debug还是release,所以

compile project(':data')
compile project(':driver')

但是它依赖domain,但domain 依赖net, 是区分debug和release的,所以

releaseCompile project(path: ':domain', configuration: 'release')
debugCompile project(path: ':domain', configuration: 'debug')
总体如下:

Debug 和 Release build文件配置 测试和生产环境快速切换配置 多项目间依赖