android productFlavors的用法之——gradle 配置productFlavors &子模块配置productFlavors
程序员文章站
2024-01-07 21:15:16
前言1、什么时候用到在子模块配置productFlavors当子模块需要「配置不同信息」时,可以使用。比如:(1)子模块在不同开发环境(uat、sit)使用不同的请求地址url,可以配置productFlavors用来区分调用即可;(2)当使用模块化开发时,可以专门抽出一个子模块配置productFlavors,这样其他模块只需要依赖该子模块,就可以全局使用子模块的配置信息;2、备注:「子模块配置样式」与「主模块配置样式」应保持一致;配置1、主模块配置productFlavors...
前言
1、什么时候用到在子模块配置productFlavors
当子模块需要「配置不同信息」时,可以使用。
比如:
(1)子模块在不同开发环境(uat、sit)使用不同的请求地址url,可以配置productFlavors用来区分调用即可;
(2)当使用模块化开发时,可以专门抽出一个子模块配置productFlavors,这样其他模块只需要依赖该子模块,就可以全局使用子模块的配置信息;
2、备注:「子模块配置样式」与「主模块配置样式」应保持一致;
配置
1、主模块配置productFlavors
app/build.gradle
android {
...
flavorDimensions 'default' // 定义必要的配置 否则会报错
productFlavors {
dev {
dimension = 'default'
// 定义不同的包名
applicationId = "com.test.demo1"
// 自定义buildConfig.java中的变量供代码中使用
buildConfigField "String", "APPID_BUGLY", '"12345"'
}
sit {
dimension = 'default'
applicationId = "com.test.demo2"
buildConfigField "String", "APPID_BUGLY", '"67890"'
}
}
}
2、子模块配置productFlavors
module/build.gradle
android {
...
publishNonDefault true
flavorDimensions 'default'
productFlavors {
dev {
dimension = 'default'
// 自定义buildConfig.java中的变量供代码中使用
buildConfigField "String", "BASE_URL", '"http://158.223.12.22:8080"'
buildConfigField "String", "RESOURCE_URL", '"http://158.223.12.22:8080"'
}
sit {
dimension = 'default'
// 自定义buildConfig.java中的变量供代码中使用
buildConfigField "String", "BASE_URL", '"http://158.223.12.11:9090"'
buildConfigField "String", "RESOURCE_URL", '"http://158.223.12.11:9090"'
}
}
}
只需要其他模块依赖该子模块,就可以全局使用该子模块的配置信息。
所以可以抽出一个「公共子模块」专门用来做「配置信息」使用。
本文地址:https://blog.csdn.net/fenglolo/article/details/108117051