电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android ProductFlavor的使用詳解

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

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

productFlavors

Android ProductFlavor的使用詳解

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

Android ProductFlavor的使用詳解

如圖,在我們定義好了是否付費的緯度以及付費和免費的產品風味之后,你會發現現在構建出來了4個構建變體,也就是在free和charge風味下各自構建了debug和release的變體,現在我們有了兩個不同的風味,如果我想安裝到手機上是兩個不同的APK又改怎么處理呢?首先我們的包名就不能相同,在free和charge閉包下定義:

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

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

Android ProductFlavor的使用詳解

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

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

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

Android ProductFlavor的使用詳解

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

flavorDimensions多緯度

Android ProductFlavor的使用詳解

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

以上就是Android ProductFlavor的使用詳解的詳細內容,更多關于Android ProductFlavor的使用的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 南京和瑞包装有限公司 | 双相钢_双相不锈钢_双相钢圆钢棒_双相不锈钢报价「海新双相钢」 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 包头市鑫枫装饰有限公司 | 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 设计圈 - 让设计更有价值!| 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 通风气楼_通风天窗_屋顶风机-山东美创通风设备有限公司 | 深圳富泰鑫五金_五金冲压件加工_五金配件加工_精密零件加工厂 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 高博医疗集团上海阿特蒙医院 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 杭州成人高考_浙江省成人高考网上报名| 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 学生作文网_中小学生作文大全与写作指导 | 建筑工程资质合作-工程资质加盟分公司-建筑资质加盟 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 艺术涂料_进口艺术涂料_艺术涂料加盟_艺术涂料十大品牌 -英国蒙太奇艺术涂料 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 软文发布-新闻发布推广平台-代写文章-网络广告营销-自助发稿公司媒介星 | HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 |