我有 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
提交
取消