美文网首页
gradle根据测试环境和正式环境动态配置

gradle根据测试环境和正式环境动态配置

作者: 成虫_62d0 | 来源:发表于2018-04-26 20:45 被阅读0次

一般情况下,android开发在开发过程中会连接测试环境的url;发布的时候会连接正式环境的url;不只是url,各种第三方的appid,appkey等都要区分测试和正式环境。为了方便和避免疏忽造成的问题,我们可以在gradle中动态设置manifestPlaceholders和buildConfigField。

代码中引用根据debug和release引用不用的host配置

首先在根目录下的gralde.properties文件中添加变量,如下:
DEBUG_BASE_URL=http://192.168.0.202:19527/
BASE_URL=http://com.xxx.xxx/
在application目录下的build.gradle文件中的buildTypes下配置release和debug

            minifyEnabled true
            shrinkResources true
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.myConfig
            buildConfigField ("String","BASE_URL","\"${BASE_URL}\"")
            manifestPlaceholders = [app_see_key : "xxxxxxxxxxxxxxxxx"]
        }
        debug {
            signingConfig signingConfigs.myConfig
            //解决包名不能超过6W
            multiDexEnabled true
            buildConfigField ("String","BASE_URL","\"${DEBUG_BASE_URL}\"")
            manifestPlaceholders = [app_see_key : "xxxxxxxxxxxxxxxxx"]
        }

在代码中引用
String HOST = BuildConfig.BASE_URL;

manifest中配置第三方的appid或者appkey

上面的代码中有一行 manifestPlaceholders = [app_see_key : "xxxxxxxxxxxxxxxxx"]
在manifest.xml文件中引用上述配置的变量
<meta-data android:name="com.appsee.ApiKey" android:value="${app_see_key}" />

相关文章

网友评论

      本文标题:gradle根据测试环境和正式环境动态配置

      本文链接:https://www.haomeiwen.com/subject/mjomlftx.html