国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

借助gradle的ProductFlavor實(shí)現(xiàn)多App間代碼庫復(fù)用

2019-11-09 15:44:26
字體:
供稿:網(wǎng)友

背景是什么?

image

lib A 和 lib A’ 擁有大部分相同的代碼,小部分的產(chǎn)品特性差異,但是lib A是用在App 1 中,而lib A’是用在App 2上,如果分開維護(hù)兩份代碼拷貝,工作量將極為巨大。

如何代碼復(fù)用

借助gradle提供的PRoductFlavor來實(shí)現(xiàn)代碼和資源的合并。基礎(chǔ)知識(shí)可以參照之前寫的一篇文檔Gradle For Android Product flavors章節(jié)。

有Product flavors的知識(shí)基礎(chǔ),我們可以將source set拆分成如下: image

main: 主要是各個(gè)產(chǎn)品特性所共有的資源和代碼,當(dāng)然和productFlavor重復(fù)了也不可怕,會(huì)被productFlavor的所覆蓋。productFlavorA: 包含屬于其中一個(gè)App的具體產(chǎn)品特性資源及代碼。其他的如 productFlavorB,productFlavorC…都是類似的。

gradle腳本配置

android { productFlavors { productFlavorA { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { minSdkVersion 18 targetSdkVersion 23 versionCode 500 versionName "5.0.0" } } productFlavorB { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionName "1.0" } } }....}

需要publishNonDefault,defaultPublishConfig配置?

參考之前寫的wiki gradle管理發(fā)布

如果在不同的productFlavor中需要依賴不同的SDK呢?

productFlavor + compile 再跟上所依賴的庫 參考之前寫的wikiGradle For Android 的“依賴的概念”


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤庆县| 攀枝花市| 平湖市| 赤峰市| 华蓥市| 瑞昌市| 新绛县| 泾川县| 禹州市| 阿瓦提县| 东莞市| 多伦县| 黄陵县| 五莲县| 乌拉特中旗| 南城县| 寿光市| 广安市| 麦盖提县| 平乡县| 历史| 曲松县| 濮阳县| 余姚市| 枝江市| 天祝| 监利县| 城口县| 教育| 翁牛特旗| 古蔺县| 桦川县| 大厂| 屯门区| 高雄市| 林芝县| 襄汾县| 紫阳县| 富阳市| 万年县| 广元市|