我有 2 种产品口味:productFlavors { first{} second{}}我有一个Http像在屏幕上一样具有常量值的类:我的问题是:如果我设置了 build first,我想Http上课,CODE = 2000但如果我设置了 buildsecond我想Http上课CODE = 1000我见过这样一个项目,它看起来像: repo(first) 和更改后构建 repo(second) 和类 http 因当前构建而异,但无法复制它:/
2 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
如果你的类是相同的,但唯一的区别是常量,那么你不需要复制代码,你需要做的就是创建你通过BuildConfig类访问的 gradle 常量:
productFlavors {
flavor1 {
buildConfigField 'int', 'CODE', '1000'
}
flavor2 {
buildConfigField 'int', 'CODE', '2000'
}
}
然后你会使用
BuildConfig.CODE
在您的 HTTP 调用中,这将根据风格保存 1000 或 2000。
哈士奇WWW
TA贡献1799条经验 获得超6个赞
Http
创建您的班级的两个副本,一个在 中src/first/com.androidapp.testproject/repo
,另一个在 中src/second/com.androidapp.testproject/repo
,然后从 中删除副本src/main/...
。
您的类 in 的第一个版本src/first/...
将根据您的风格构建first
,而in 的第一个版本将根据您的风格src/second/...
构建second
。当然,您必须CODE
在类的适当副本中调整值。
添加回答
举报
0/150
提交
取消