Android之Gradle基础
16lz
2021-01-26
需求一
在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>
更多相关文章
- Android(安卓)SDK三种更新失败及其解决方法
- could not write file\android-7\/system.img, No space left
- Android之使用Http协议实现文件上传功能
- android aidl调用进程间服务的方法
- Android(安卓)colors.xml 颜色配置文件
- Android实现读写SD卡
- Multidex Android(安卓)DEX手动拆包
- 操作Android中联系人,通话记录,短息,的URI,和具体的查询语句,字段注解
- ubuntu 9.04使用adb调试Android方法