为了账号安全,请及时绑定邮箱和手机立即绑定

同一类为两种不同的产品风味

同一类为两种不同的产品风味

撒科打诨 2022-10-26 17:10:44
我有 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。


查看完整回答
反对 回复 2022-10-26
?
哈士奇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在类的适当副本中调整值。


查看完整回答
反对 回复 2022-10-26
  • 2 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信