Gradle编译生成不同的版本,动态设定应用标题 / 应用图标 / 替换常量

本文介绍了如何使用Gradle编译时生成不同版本的Android应用,包括更改应用标题、图标以及替换常量。通过设置productFlavors和buildTypes,创建测试和正式版本,并分别配置相应的资源和依赖。文中提供了详细的配置示例和可能出现的问题解决方法。
摘要由CSDN通过智能技术生成
                       

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51508132   文章出自:薛瑄的博客

你也可以查看我的其他同类文章,也会让你有一定的收货!

关于使用Gradle来控制版本和生成不同版本的代码,我总结了三篇文章,网上关于这些知识,都比较零散,我在学习这些的之前,根本不知道还有这样的方法。所以说不知道并不可怕,可怕的是不知道自己不知道。相信这三篇文章,会给你不少灵感

Gradle构建控制Log开关——BuildConfig\自定义

使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中 < meta-data>变量的值

Gradle编译生成不同的版本,动态设定应用标题 / 应用图标 / 替换常量

写项目的时候经常会遇到以下的情况:

1.需要生成测试版本和正式版本的apk
2.测试版本和正式版本的URL是不一样的
3.测试版本和正式版本的包名需要不一致,这样才能安装到同一部手机上面。
4.不同apk需要应用名不同,图标不同,某些常量不同….

我们经常需要在应用中定义一些常量,当应用正式发布的时候,常常是注释掉测试用的部分,放开正式的部分,就像下面一样:

public static String BASE_URL = "http://staging.tamere.be"//public static String BASE_URL = "http://production.tamere.be"
  
  
  
  • 1
  • 2

上面的步骤是烦躁,无味的,修改一个地方还好,代码越来越多,维护越来复杂,这个时候我们Gradle就闪亮登场了

示例代码下载

Build variants介绍

建议阅读这篇博客
build.gradle中可以包括两个节点:buildTypes和productFlavors

  • buildTypes默认有release和debug两个选项。

  • 我们这里在productFlavors增加production和staging.

buildTypes和productFlavors组合就有下面4个版本了。

ProductionDebugProductionReleaseStagingDebugStagingRelease
  
  
  
  • 1
  • 2
  • 3
  • 4

下面使用两种方法实现上面所述的需求:

第一种:新增目录,目录的名称是productFlavors 节点的名称

示例项目

示例项目很简单,在不同的版本中我们需要修改项目名称,项目图标,一些常量:url…,项目可以从Github 下载,效果图如下:

这里写图片描述

这里写图片描述

1、build.gradle文件配置如下:

apply plugin: 'com.android.application'android {    compileSdkVersion 22    buildToolsVersion "22.0.1"    defaultConfig {        minSdkVersion 15        targetSdkVersion 22    }  buildTypes {        release {            minifyEnabled false            shrinkResources true//            proguardFiles 'proguard-project.txt'        }        debug {            minifyEnabled false            shrinkResources true        }    }    productFlavors {        staging {            applicationIdSuffix ".staging"           //原作者的github项目使用的是packageName,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值