需求一

在gradle文件中创建N个公共变量,在app和library中可以调用

  • 在项目下创建一个文件config.gradle
ext {    // 自定义变量    test_envi = "http://192.168.0.1"    online_envi = "http://www.shuzhuchengfu.com"    // 定义字典    test_map = [            name:"zhangsan",            age:19    ]    url = [            debug: "http://192.168.0.1",            release: "http://www.shuzhuchengfu.com"    ]}
  • 在项目的主gradle 文件中引入该文件
apply from: "config.gradle"
  • 在app的gradle中调用配置的变量如下(library同理)
println("hello gradle")println "hello gradle"println "test_envi : ${test_envi}"println "online_envi : ${online_envi}"println "rootProject.ext.test_envi : ${rootProject.ext.test_envi}"println "name : ${test_map.name} , age : ${test_map.age}"println " ========= "test_map.each {    k,v -> println("${k} : ${v}")}

需求二

在BuildConfig类中增加变量

  • app下的build.gradle
def url = rootProject.ext.urlandroid{buildTypes{debug{buildConfigField("String","HTTP_URL","\"${url.debug}\"")}release{buildConfigField("String","HTTP_URL","\"${url.release}\"")}}}
  • BuildConfig.java
public final class BuildConfig {  ...  // Fields from build type: debug  public static final String HTTP_URL = "http://192.168.0.1";}

需求三

在清单文件中替代占位变量

  • app下的build.gradle
def url = rootProject.ext.urlandroid{buildTypes{debug{manifestPlaceholders.put("UMENG_CHANNEL","channel_debug")}release{manifestPlaceholders.put("UMENG_CHANNEL","channel_release")}}}
  • 清单文件中替代UMENG_CHANNEL
    <application>    <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL}" />    application>

更多相关文章

  1. Android(安卓)SDK三种更新失败及其解决方法
  2. could not write file\android-7\/system.img, No space left
  3. Android之使用Http协议实现文件上传功能
  4. android aidl调用进程间服务的方法
  5. Android(安卓)colors.xml 颜色配置文件
  6. Android实现读写SD卡
  7. Multidex Android(安卓)DEX手动拆包
  8. 操作Android中联系人,通话记录,短息,的URI,和具体的查询语句,字段注解
  9. ubuntu 9.04使用adb调试Android方法

随机推荐

  1. Android关于buildToolVersion与CompileSd
  2. 分析通话记录信息是通过什么写入的 andro
  3. [置顶] Android(安卓) ExpandableListVi
  4. Android(安卓)Studio常用设置(持续更新..
  5. LeakCanary
  6. Kotlen_DataBinding_配置
  7. Android(安卓)LBS地图开发:地球地理GPS坐
  8. 如何改变Android(安卓)Progressbar默认颜
  9. Android游戏开发之旅七 自定义SurfaceVie
  10. Android导入工程出现 Project has no def