通过Gradle来切换不同的环境

因为项目发布出去了,为了方便测试,项目环境分为了开发环境和正式环境。
为了方面切换环境进行开发调试和打包,我们采用了Gradle来进行控制切换。


buildTypes {

  def isReleaseEnvironment = false

  debug {

      resValue "string", "app_name", "(测试)什么的"

      if (isReleaseEnvironment) {
          buildConfigField "boolean", "IS_RELEASE", "true"
          buildConfigField "String", "key", "\"value\""
      } else{
          buildConfigField "boolean", "IS_RELEASE", "false"
          buildConfigField "String", "key", "\"value\""
      }
  }
}

Note:
resValue "string", "app_name", "(测试)什么的"
这个可以修改资源文件中的app_name的内容,通常就是APP的名字。通过这句我们可以对不同的需要进行修改APP名字。

buildConfigField "boolean", "IS_RELEASE", "true"
这句的作用是定义一个常量。在Gradle Build的时候会自动生成一个BulidConfig的java文件。
然后我们就可以通过BulidConfig来访问这个变量。这样子基本可以满足我们对不同环境不同常量更改的需求了。
需要注意的是定义String需要加双引号。

大概就是这样。

下周写一篇阿里的dexposed框架的使用教程,实现热更新 ><

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,890评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,947评论 6 342
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,155评论 25 708
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,760评论 18 399
  • 大红嫁衣如霞 红盖头下 那张小脸没有任何表情 一如昨夜 喜娘梳头添妆时的木然 火统声一声高过一声 催嫁的歌 从昨夜...
    沧海一粟贝阅读 334评论 6 8