productFlavors實(shí)踐

Gradle構(gòu)建多維度掺出,多版本apk的時(shí)候有多種方式徽千,常見的是buildTypes分debug,release版本汤锨,另外就是productFlavor構(gòu)建產(chǎn)品特性双抽,結(jié)合flavorDimensions
1.這里注意flavorDimensions屬于分類,是區(qū)分分類的維度闲礼,比較拗口

flavorDimensions "api", "mode"
productFlavors {
demo {
  // Assigns this product flavor to the "mode" flavor dimension.
  dimension "mode"
  ...
}

full {
  dimension "mode"
  ...
}

參照官網(wǎng)的demo牍汹,這里的api維度,mode維度是分開來的也就是說productFlavors與flavorDimensions結(jié)合可產(chǎn)生flavorDimensions*productFlavors中變體
gradle3.1后配置productFlavors必須配置flavorDimensions屬性
如果只有一個(gè)dimension每個(gè)flavor可省略配置dimension

2.可通過gradle函數(shù)統(tǒng)一處理所有apk

variantFilter { variant ->
  def names = variant.flavors*.name
  // To check for a certain build type, use variant.buildType.name == "<buildType>"
  if (names.contains("minApi21") && names.contains("demo")) {
      // Gradle ignores any variants that satisfy the conditions above.
      setIgnore(true)
  }
}

3.如果配置在library項(xiàng)目上 要特別注意柬泽,以前的

  publishNonDefault true

該屬性已廢棄(我的gradle3.1.3)默認(rèn)是會(huì)打各種渠道的依賴的
這里需要注意的是慎菲,為了保證分渠道引用的依賴也具有渠道屬性,所有在該引用鏈上的項(xiàng)目都需要配置productFlavors保證整個(gè)引用的正常锨并,否則sync會(huì)失敗
4.最后這邊提出分渠道的意義就是在于配置不同的配置項(xiàng)或者代碼露该,本人沒用到不同的代碼 主要涉及一些基礎(chǔ)配置項(xiàng),例如baseurl分環(huán)境主要設(shè)置BuildConfig以及Manifest的引用
首先buildConfig的注入需要使用
buildConfig.put "type","name","value"
其次涉及manifest的注入
manifestPlaceholders=[key,value]或者
manifestPlaceholders.put(key,value)
注意這邊如果直接配置到flavor內(nèi)可能會(huì)報(bào)找不到該占位符第煮,所以要在defaultConfig下配置一個(gè)默認(rèn)屬性
5.最后就是怎么使用gradlew打包安裝解幼,所有構(gòu)建任務(wù)都能在as的右邊找到,關(guān)于gradlew的命令請(qǐng)參照我的另外一篇文章gradlew常見命令空盼,使用命令行的話主要是為了構(gòu)建cd環(huán)境书幕,我這邊是用jenkins進(jìn)行構(gòu)建任務(wù)的,并上傳蒲公英的看揽趾,如果有需要的話可以聯(lián)系我咨詢解決方案台汇。我這邊有些難點(diǎn)主要涉及復(fù)雜的網(wǎng)絡(luò)
以上配置請(qǐng)參照官網(wǎng)Android多渠道配置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市篱瞎,隨后出現(xiàn)的幾起案子苟呐,更是在濱河造成了極大的恐慌,老刑警劉巖俐筋,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牵素,死亡現(xiàn)場離奇詭異,居然都是意外死亡澄者,警方通過查閱死者的電腦和手機(jī)笆呆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粱挡,“玉大人赠幕,你說我怎么就攤上這事⊙ぃ” “怎么了榕堰?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嫌套。 經(jīng)常有香客問我逆屡,道長圾旨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任魏蔗,我火速辦了婚禮砍的,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘莺治。我一直安慰自己挨约,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布产雹。 她就那樣靜靜地躺著,像睡著了一般翁锡。 火紅的嫁衣襯著肌膚如雪蔓挖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天馆衔,我揣著相機(jī)與錄音瘟判,去河邊找鬼。 笑死角溃,一個(gè)胖子當(dāng)著我的面吹牛拷获,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播减细,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼匆瓜,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了未蝌?” 一聲冷哼從身側(cè)響起驮吱,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎萧吠,沒想到半個(gè)月后左冬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纸型,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年拇砰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狰腌。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡除破,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出癌别,到底是詐尸還是另有隱情皂岔,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布展姐,位于F島的核電站躁垛,受9級(jí)特大地震影響剖毯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜教馆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一逊谋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧土铺,春花似錦胶滋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至后德,卻和暖如春部宿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瓢湃。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工理张, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绵患。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓雾叭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親落蝙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子织狐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355