爱站屋博客 - 好东西不私藏,大家一起分享!关于博客 留言板

网站首页 技术教程 正文

【安卓进阶】Product地狱男爵有几部 Flavor基础玩法

2019-08-30 技术教程 12 ℃

[db:标签]签:安卓   用法   com   str   oid   var   ctf   玩法   lan   

在安卓项目开发中,大多时候总是有测试环境、生产环境之类的区别,在不使用Product Flavor时,我们一般都是通过手工改动代码来实现测试环境、生产环境的切换。

 

这样就造成了项目管理上的不便,频繁的手工在测试、生产代码中注释相关代码来切换环境,效率低下不说,而且从工程角度来说是不专业的。

 

Product Flavor

Product Flavor的出现解决了我们切换环境的问题,而且还拥有更加强大的功能,下面先了解一下最基本的使用方法,例如想建立一份测试环境、生产环境的构建变体。

 

在模块的build.gradle下的 android { } 增加:

flavorDimensions "dev" productFlavors {     ceshi {         dimension "dev"         buildConfigField("String", "URL", "\"https://abc.com\"")     }      prod{         dimension "dev"         buildConfigField("String", "URL", "\"https://dfg.com\"")     } }

 

然后Sync Project with Gradle Files,在Android Studio的Build Variants下即可看到增加了4个构建变体

【安卓进阶】Product地狱男爵有几部 Flavor基础玩法-第1张图片-【秒速时时彩开奖结果】爱站屋博客

 

下面来讲解一下上面的相关知识点:

(1)buildConfigField在构建的时候在环境中加入静态变量,在代码中通过BuildConfig类的属性进行访问,上面我们在两个环境中都添加了变量名为URL的变量,而且两个环境中的变量的值均不相同,在项目的代码中我们可以使用BuildConfig.URL进行访问。

(2)为什么会出现4个构建变体:

    > 构建变体 = [风格维度的风格数1]  * [风格维度的风格数2] * ......   * [Release | Debug],上面我们定义了一个风格纬度:dev,其中的风格数是:ceshi、prod,所以 [ceshi | prod] * [Release | Debug] 等于4个构建变体。

(3)可以定义多个风格纬度吗?

    > 可以,例如定义两个风格维度:flavorDimensions "dev", "lan",那么构建变体的数目:[dev维度的风格数] *  [lan维度的风格数]  * [Release | Debug]

 

通过上面的基础用法,已经能处理好测试环境、生产环境切换麻烦的问题,而且每个环境都能定义不同的变量值,这样就能使工程的代码更加简洁。

【安卓进阶】Product Flavor基础玩法

标签:安卓   用法   com   str   oid   var   ctf   玩法   lan   


猜你喜欢

本文暂时没有评论哦(●'◡'●)

欢迎 发表评论:

:如果评论未出现,请刷新网页,谢谢合作!

会员中心
搜索
ip签名图
    IP签名图
网站分类
标签列表
文章归档
站点信息
  • 文章总数:112038
  • 页面总数:3
  • 分类总数:12
  • 标签总数:629
  • 评论总数:2060
  • 浏览总数:1241363
爱站云安全认证