当你在开辟一个app,平日你会有几个版本。大年夜多半情况是你须要一个开辟版本,用来测试app和弄清它的质量,然后还须要一个临盆版本。这些版本平日有不合的设置,例如不合的URL地址。更可能的是你可能须要一个免费版和收费版本。基于上述情况,你须要处理不合的版本:开辟免费版,开辟付费版本,临盆免费版,临盆付费版,而针对不合的版本不合的设备,这极大年夜增长的治理难度。
Gradle有一些便利的办法来治理这些问题。我们很早之前谈过debug和release版本,如今我们谈到别的一个概念,不合的产品版本。构建版本和临盆版本平日可以归并,构建版本和临盆版本的归并版叫做构建变种。
在这一章,我们遵守如下规矩:
- Build types
- Product flavors
- Build variants
- Signing configurations
构建版本
在Gradle的Android插件中,一个构建版本意味着定义一个app或者依附库若何被构建。每个构建版本都要特别的一面,比如是否须要debug,application id是什么,是否不须要的资本被删除等等。你可以定义一个构建版本经由过程buildTypes办法。例如:
- android {
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile
- ('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- }
这个文件定义了该模块是release版本,然后定义了proguard的地位。该release版本不是独一的构建版本,默认情况下,还有个debug版本。Android studio把它视为默认构建版本。
然后归并的strings.xml将会是如许的:
当默认的构建版本不敷用的时刻,创建版本也是很轻易的一件事,创建构建版本你只须要在buildTypes写入本身的版本。如下所示:
- android {
- buildTypes {
- staging {
- applicationIdSuffix ".staging"
- versionNameSuffix "-staging"
- buildConfigField "String", "API_URL",
- "\"http://staging.example.com/api\""
- }
- }
- }
我们定义了一个staging版本,该版本定义了一个新的application id,这让其与debug和release版本的applicationID不合。假设你应用了默认的设备,那么applicationID将会是如许的:
- Debug: com.package
- Release: com.package
- Staging: com.package.staging
这意味着你可以在你的设备上安装staging版本和release版本。staging版本也有本身的版本号。buildConfigField定义了一个新的URL地址。你不必事事都去创建,所以最可能的方法是去持续已有的版本。
- android {
- buildTypes {
- staging.initWith(buildTypes.debug)
- staging {
- applicationIdSuffix ".staging"
- versionNameSuffix
推荐阅读
美国德克萨斯州达拉斯市官员称,因为电脑黑客入侵,达拉斯所有紧急戒备体系在夜琅绫蛆叫了90分钟阁下,这是至今出现的最大年夜范围戒备体系入侵变乱。城市应急治理主任罗克·瓦兹(R>>>详细阅读
本文标题:Gradle for Android 第四篇( 构建变体 )
地址:http://www.17bianji.com/lsqh/34708.html
1/2 1