日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Android ProductFlavor的使用詳解

瀏覽:181日期:2022-09-18 09:49:38
目錄前言productFlavorsflavorDimensions多緯度前言

最近一直在學(xué)習(xí)Android Gradle 相關(guān)的知識(shí)點(diǎn),今天剛好看到了 ProductFlavor 這節(jié),ProductFlavor 表示產(chǎn)品風(fēng)味,Google 相關(guān)的文檔可以看 Android developers ProductFlavor ,產(chǎn)品風(fēng)味這詞起的還是挺有意思的,乍看上去我一時(shí)半會(huì)也不理解這是干嘛的,如果說是用于區(qū)分打包的那么我 gradle 文件里的 buildTypes 不是就已經(jīng)夠用了嗎,所以我花了一點(diǎn)時(shí)間重新看了下,按照我的理解如果你只是中小型的項(xiàng)目不涉及區(qū)分不同地區(qū)用戶打不用的包的那么 ProductFlavor 基本上也沒什么用處,但如果你項(xiàng)目里要區(qū)分國內(nèi)版和國外版甚至還要根據(jù)用戶是否是VIP會(huì)員加上收費(fèi)和免費(fèi)的版本,這種情況下就會(huì)出現(xiàn)國內(nèi)收費(fèi)、免費(fèi)國外收費(fèi)、免費(fèi)的版本,在極端點(diǎn),我收費(fèi)和免費(fèi)的版本在相同頁面上甚至顯示的UI布局和icon圖標(biāo)資源都不一樣,這種情況又該怎么處理呢,ProductFlavor 的出現(xiàn)就非常友好的幫助我們開發(fā)者解決了上述的版本區(qū)分。

productFlavors

Android ProductFlavor的使用詳解

productFlavors 的用法很簡單,主要是用來多渠道打包使用,直接在 android 閉包下定義 productFlavors 就可以了,在我的例子中我的APP定位為收費(fèi)和免費(fèi)版本,所以我需要在 2 處定義我的“產(chǎn)品風(fēng)味”也就是我要打包的渠道(收費(fèi)和免費(fèi)版本的兩個(gè)不同APP的渠道),注意下在目前的AS中如果你僅僅只是定義了 代碼2 ,那么在構(gòu)建的時(shí)候必然會(huì)報(bào) 3 處的錯(cuò)誤,沒有定義產(chǎn)品緯度,所以為了解決這個(gè)問題,我們在代碼1處定義了一個(gè)“是否付費(fèi) isPaying ”的緯度。

Android ProductFlavor的使用詳解

如圖,在我們定義好了是否付費(fèi)的緯度以及付費(fèi)和免費(fèi)的產(chǎn)品風(fēng)味之后,你會(huì)發(fā)現(xiàn)現(xiàn)在構(gòu)建出來了4個(gè)構(gòu)建變體,也就是在free和charge風(fēng)味下各自構(gòu)建了debug和release的變體,現(xiàn)在我們有了兩個(gè)不同的風(fēng)味,如果我想安裝到手機(jī)上是兩個(gè)不同的APK又改怎么處理呢?首先我們的包名就不能相同,在free和charge閉包下定義:

productFlavors{ free{applicationId ’com.example.gradle.free’ } charge{applicationId ’com.example.gradle.charge’ }}

根據(jù)上面的配置最后在手機(jī)上跑的是兩個(gè)APK,這個(gè)我已經(jīng)驗(yàn)證過了,盡管如此還是沒體現(xiàn)出差異化,我們接下來改變下代碼的邏輯,在他們的app名以及首頁修改下

Android ProductFlavor的使用詳解

看我們的紅框處,我已經(jīng)將他們的app的名稱全改掉了,怎么處理的呢?

productFlavors{ free{applicationId ’com.example.gradle.free’resValue 'string',’appName’,’免費(fèi)版’ } charge{applicationId ’com.example.gradle.charge’resValue 'string',’appName’,’收費(fèi)版’ }}

首先我還是修改了 productFlavors 中的代碼,定義了一個(gè) resValue,這個(gè)參數(shù)你可以理解為在不同的風(fēng)味下定義標(biāo)簽的意思,比如說我在代碼中分別為 free 和 charge 風(fēng)味定義了 resValue 標(biāo)簽,那么在構(gòu)建他們變體的時(shí)候就可以引用到這個(gè)標(biāo)簽

Android ProductFlavor的使用詳解

如圖,我還新定義了兩個(gè)文件夾“free”和“charge”,如果你想做差異化的話就必須根據(jù)產(chǎn)品風(fēng)味來定義文件夾,這里因?yàn)閼?yīng)用的名稱是在清單文件里配置的,所以各自copy了一份,我反正理解的是既然是差異化那么從main里面將有差異的文件copy出來修改就可以了,當(dāng)然了里面的包名,路徑之類的還是得要一致的,講到這其實(shí)大家也就明白了,如果你想在不同的APP頁面里做差異化,那么就按照這個(gè)套路來就可以了,所以“修改首頁(MainActivity)”的任務(wù)就交給大家了,自己動(dòng)手體會(huì)下。

flavorDimensions多緯度

Android ProductFlavor的使用詳解

什么是多緯度,比說是否付費(fèi)是一個(gè)緯度,國家是一個(gè)緯度,在上圖中我又定義了一個(gè) nation 緯度,注意如果你定義了一個(gè)緯度那么必須要使用到它,在各個(gè)產(chǎn)品風(fēng)味下通過 dimension 來決定你的風(fēng)味是使用的哪一個(gè)緯度,free 和 charge使用了 isPaying ,china 和 france 使用了 nation,那么多緯度的作用也就是為了更加精細(xì)的區(qū)分你的APP,如 3 通過這種方式,我完全可以可以打包出不同國家的差異化APP,是不是很靈活呢,不過一般情況下也用不到那么精細(xì),不然這個(gè)項(xiàng)目光是維護(hù)就很頭疼,好,到最后我們可以得出一個(gè)公式 【緯度1的產(chǎn)品風(fēng)味數(shù)量】 * 【緯度2的產(chǎn)品風(fēng)味數(shù)量】 * buildType數(shù)量 = 最終的APK變體數(shù)量。

以上就是Android ProductFlavor的使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Android ProductFlavor的使用的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Android
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
中文字幕在线看片| 日韩中文字幕高清在线观看| 日本一区二区中文字幕| 国产日产精品_国产精品毛片 | 亚洲精品a级片| 亚洲精品美女91| 欧美aaaaaa午夜精品| 不卡福利视频| 美女精品网站| 欧美激情日韩| 久久久久免费av| 亚洲欧美日韩高清在线| 国产夫妻在线| 激情视频一区二区三区| 亚洲少妇在线| 日韩精品欧美大片| 国产精品a级| 在线观看精品| 日韩亚洲国产欧美| 日韩在线麻豆| 欧美国产极品| 欧洲毛片在线视频免费观看| 日本麻豆一区二区三区视频| 天堂中文在线播放| 亚洲国产一区二区在线观看| 欧美日韩一区自拍| 久久人人99| 日韩高清不卡在线| 电影天堂国产精品| 日韩精品国产精品| 久久精品青草| 日韩高清一区| 91久久国产| 久久亚洲资源中文字| 久久亚洲视频| 日韩大片在线| 国产女人18毛片水真多18精品| 激情欧美一区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产精品1区在线| 91中文字幕精品永久在线| 欧美va天堂| 欧美一级网站| 久久精品导航| 日韩国产在线观看| 毛片在线网站| 蜜桃视频一区二区| 成人在线黄色| 欧美另类专区| 国产极品一区| 亚洲精品在线观看91| 国产精品对白| 国产农村妇女精品一区二区| 国产欧美在线观看免费| 三上悠亚国产精品一区二区三区| 亚洲一级淫片| 在线中文字幕播放| 日韩精品欧美精品| 欧美亚洲精品在线| 国产精品magnet| 亚洲欧洲日本mm| 欧美精品二区| 六月丁香综合| 精品视频在线一区二区在线| 蜜臀精品一区二区三区在线观看| av中文字幕在线观看第一页| 亚洲精品国产日韩| 欧美不卡高清一区二区三区| 日本午夜精品久久久久| 五月天综合网站| 成人精品动漫一区二区三区| 深夜福利亚洲| 久久蜜桃精品| 老色鬼精品视频在线观看播放| 亚洲综合三区| 精精国产xxxx视频在线野外| 国产精品亚洲欧美一级在线| 蜜臀av一区二区三区| 日韩久久精品网| 日韩激情综合| 国产精品美女久久久| 国产美女高潮在线| 国产麻豆精品| 日韩欧美中文字幕电影| 狠狠色综合网| 日韩欧美一区二区三区在线观看| 日本成人在线不卡视频| 亚洲一区区二区| 亚洲天堂资源| 国产精品欧美日韩一区| 亚洲色图综合| 黑丝一区二区| 亚洲啊v在线| 国产精品日韩精品在线播放| 亚洲综合婷婷| 麻豆亚洲精品| 国产精品毛片在线看| 99精品小视频| 日韩欧美不卡| 国产成人精品一区二区三区免费| 国产欧美69| 国内一区二区三区| 国产一区二区三区四区五区传媒| 日本亚洲视频在线| 免费视频最近日韩| 日韩亚洲精品在线| 亚洲精品小说| 精品欧美久久| 美女视频黄久久| 国产精品日韩精品中文字幕| 日韩激情综合| 日韩福利视频一区| 日韩**一区毛片| 日韩欧美中文字幕电影| 日韩一区二区三区精品| 一二三区精品| 亚洲日产av中文字幕| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲一区国产| 蜜桃久久久久久| 日韩精品一区二区三区免费视频| 亚洲精品四区| 日韩不卡在线观看日韩不卡视频| 蜜桃91丨九色丨蝌蚪91桃色| 免费精品视频最新在线| 水蜜桃久久夜色精品一区的特点| 久久亚洲视频| 亚洲精品影视| 欧美日韩亚洲一区三区| 国产精品日韩精品在线播放| 免费亚洲一区| 91欧美国产| 羞羞答答国产精品www一本 | 国产一区久久| 水野朝阳av一区二区三区| 欧美日韩 国产精品| 麻豆成人综合网| 天堂av在线| 蜜桃久久久久久| 国内一区二区三区| 日韩一区二区久久| 欧美另类中文字幕| 亚洲v在线看| 亚洲制服一区| 国产网站在线| 深夜福利亚洲| 三级在线看中文字幕完整版| 亚洲自啪免费| 麻豆高清免费国产一区| 亚洲免费播放| 欧美激情五月| 99视频精品免费观看| 欧美一级一区| 久久美女性网| 欧美久久精品| 久久久久午夜电影| 国产欧美久久一区二区三区| 国模 一区 二区 三区| 久久精品凹凸全集| 欧美亚洲国产激情| 国产美女亚洲精品7777| 亚洲一本视频| 国产精品一区二区av交换| 一本一道久久a久久精品蜜桃| 国产精品99久久免费观看| 一区二区视频欧美| 久久精品亚洲一区二区| 在线亚洲自拍| 国产成人久久精品麻豆二区 | 国际精品欧美精品| 水蜜桃久久夜色精品一区的特点| 成人在线黄色| 久久国内精品| 亚洲尤物在线| 久久精品国内一区二区三区水蜜桃| 久久精品99国产精品日本| 99亚洲精品| 麻豆理论在线观看| 99视频精品视频高清免费| 综合一区av| 色综合五月天| 亚洲人成亚洲精品| 午夜影院一区| 青青青国产精品| 激情六月综合| 久久精品国产999大香线蕉| 欧美日韩视频| 麻豆国产精品777777在线| 亚洲一级在线| 超级白嫩亚洲国产第一| 亚洲精品少妇| 欧美日韩激情| 久久精品一本| 综合欧美精品| 香蕉久久精品| 国产成人精品一区二区免费看京 | 石原莉奈在线亚洲三区| 午夜精品成人av| 91亚洲国产高清| 久久不见久久见中文字幕免费|