国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 玉树县| 元阳县| 金昌市| 吉林市| 麻江县| 康平县| 三门县| 柳河县| 望都县| 綦江县| 昭苏县| 栾城县| 宜丰县| 新丰县| 永昌县| 博兴县| 宁阳县| 平和县| 家居| 隆子县| 临泽县| 新乡县| 克山县| 卓尼县| 余姚市| 汶川县| 定兴县| 枣庄市| 嘉荫县| 县级市| 阿拉善盟| 康保县| 威信县| 普兰县| 大名县| 青铜峡市| 奉新县| 哈巴河县| 霞浦县| 荆州市| 麻阳|