Android Flavor
為了支持同一套代碼能夠生成多個版本的應(yīng)用,Android提供flavor來實現(xiàn)該需求。
Flavor使用
在模塊化中新增Flavor
在單一模塊的工程中,新增Flavor很簡單,但是在多模塊的工程中,可能會有諸多問題。根據(jù)已經(jīng)了解的情況,模塊的依賴關(guān)系可以是一個有向無環(huán)圖(禁止環(huán)形依賴)。在架構(gòu)圖中,一般約定俗成地將被依賴的模塊放到下層,依賴其他模塊的模塊放到上層。
經(jīng)過實踐,發(fā)現(xiàn)有如下規(guī)律
- 模塊化的工程中,不要求所有模塊都新增對應(yīng)的Flavor。例如,對于某些模塊,可以區(qū)分國內(nèi)/海外不同版本,但是其他模塊可以不區(qū)分。
- 被依賴的模塊允許不區(qū)分flavor。例如A依賴B,允許A區(qū)分國內(nèi)/海外版本,B不區(qū)分。
- 被依賴的模塊再區(qū)分flavor時,依賴它的模塊必須區(qū)分flavor。例如A依賴B,若B區(qū)分國內(nèi)/海外版本,則A也需要區(qū)分。