美文网首页
Android Gradle配置2

Android Gradle配置2

作者: 清风惊残梦 | 来源:发表于2019-02-15 18:03 被阅读2次


    一、服务器地址的与均衡地址的配置 

    1、创建String文件

    在app 目录下创建3个String文件分别对应debug,release,uat环境的服务器地址,在我们项目中分别叫tzt_buildconfig_debug_strings、tzt_buildconfig_release_strings、tzt_buildconfig_uat_strings。每个文件下创建的服务器名称分别以 _debug,_release,_uat结尾

    比如:tzt_buildconfig_debug_strings文件下服务器配置:

    <!--是否需要均衡-->

    <string name="tzt_junheng_debug">1</string>

    <!--###### 服务器地址配置 ####################################################################-->

    <!--均衡服务器-->

    <string name="tztNewJHHostPort_debug">121.40.24.220:7779</string>

    <!--行情服务器-->

    <string name="tztNewHqHostPort_debug">121.40.24.220:7788</string>

    <!--行情L2服务器-->

    <string name="tztNewHqL2HostPort_debug">180.163.112.210:8601 </string>

    <!--行情L2服务器(上海)-->

    <string name="tztNewHqLevel2SHHostPort_debug">121.12.106.247:7788&223.112.100.161:7788&</string>

    <!--行情L2服务器(深圳)-->

    <string name="tztNewHqLevel2SZHostPort_debug">121.12.106.247:7788&223.112.100.161:7788&</string>

    <!--交易服务器-->

    <string name="tztNewJyHostPort_debug">121.40.24.220:7777</string>

    <!--资讯服务器-->

    <string name="tztNewZxHostPort_debug">121.40.24.220:7779</string>

    <!--统计服务器-->

    <string name="tztNewTjHostPort_debug">121.40.24.220:7779</string>

    <!--深证通SDK均衡服务器(测试)-->

    <string name="tztSDKJunHengHostPort_debug">testjh1.3gdisk.com:7780&testjh2.3gdisk.com:7780</string>

    2、在tztApp module 的gradle中新增加uat 灰度打包的配置(注:基于3.0的项目这一步省略

    buildTypes {

        release {

            minifyEnabled true

            shrinkResources true //资源压缩

            zipAlignEnabled true//Zipalign优化

            proguardFiles 'proguard.cfg'

            signingConfig signingConfigs.release

        }

        //uat包

        uat {

            minifyEnabled true

            shrinkResources true //移除无用资源

            zipAlignEnabled true//Zipalign优化

            proguardFiles 'proguard.cfg'

            signingConfig signingConfigs.release

        }

        debug {

            minifyEnabled false

            shrinkResources false //资源压缩

            zipAlignEnabled false//Zipalign优化

            proguardFiles 'proguard.cfg'

            signingConfig signingConfigs.release

        }

    }

    3、在除了tztControl  module(注:在4.0项目为tztControl module中,3.0项目为app porject)之外的module的gradle中添加uat的配置

    buildTypes {

            release {

            }

            //uat包

            uat {

            }

            debug {

            }

        }

    4、在tztControl module(注:在4.0项目为tztContro  modulel ,在3.0项目为app  porject 的gradle中添加release uat debug 环境下的配置

    buildTypes {

        release {

            buildConfigField 'String', 'API_tztBuildTypes','\"release\"'

        }

        //uat包

        uat {

            buildConfigField 'String', 'API_tztBuildTypes','\"uat\"'

        }

        debug {

            buildConfigField 'String', 'API_tztBuildTypes','\"debug\"'

        }

    }

    5、根据名称来调用需要使用的地址

    1.在tztAddressManager (3.0项目为Rc)中的compactddress 方法中修改

    String addportlist =Res.getString(Rc.getApplication(), newhostportlab + "_" +BuildConfig.API_tztBuildTypes  (基于4.0项目)

    String addportlist =Pub.getApplication().getString(Pub.getStringID(Pub.getApplication(), newhostportlab + "_" + BuildConfig.API_tztBuildTypes))  (基于3.0项目)

    2.修改config中代码

    isNeedJunHeng =  "1".equals(Res.getString(context,"tzt_junheng"+ "_"  + BuildConfig.API_tztBuildTypes)) (基于4.0项目)

    m_bNeedJunHeng  = "1".equals(Pub.getApplication().getString(Pub.getStringID(null, "tzt_junheng" + "_" + BuildConfig.API_tztBuildTypes)))  (基于3.0项目)

    6、其他

      当需要修改服务器地址时,修改tzt_buildconfig_debug_strings、tzt_buildconfig_release_strings、tzt_buildconfig_uat_strings下定义的各个环境下的地址即可

    二、打包 

     1、打uat环境的包时,系统提示找不到leakcanary下的图片资源,猜测是因为leakcanary没有配置uat环境。

          解决办法:需在app引用leakcanary的地方将代码注释掉,主要是下面三句代码。然后在Application使用的地方将该部分代码注释。打包release和debug时没有影响,不需要注释

    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4'

    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

    三、参考文章

    1.Android中BuildConfig类

    https://www.jianshu.com/p/3474ce4609a8

    2.Gradle for Android全局设置、自定义BuildConfig、混淆

    http://wuxiaolong.me/2016/03/31/gradle4android2/

    相关文章

      网友评论

          本文标题:Android Gradle配置2

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