luojilab / DDComponentForAndroid

一套完整有效的android组件化方案,支持组件的组件完全隔离、单独调试、集成调试、组件交互、UI跳转、动态加载卸载等功能
MIT License
3.34k stars 570 forks source link

请教配置相关 #44

Closed weinierfei closed 6 years ago

weinierfei commented 7 years ago

我的线上线下环境相关的配置,原本是写在app的build.gradle里的,

   //本地开发环境[开启日志打印;测试环境ip;不混淆]
        debug {
            resValue "string", "app_name", "xx线下"
            //是否打印日志
            buildConfigField "boolean", "IS_DEBUG", "true"
            //测试环境ip
            buildConfigField "boolean", "API_ONLINE", "false"
            //测试环境ip (https)
            buildConfigField "boolean", "API_TEST", "false"
            // 预上线
            buildConfigField "boolean", "API_PREBOARD", "false"
            //友盟key配置 线下false
            buildConfigField "boolean", "UM_ONLINE", "false"
            //是否混淆
            minifyEnabled false
            // 移除无用的resource文件
            shrinkResources false
            //Zipalign优化
            zipAlignEnabled false
            signingConfig signingConfigs.debug
            // tinker关闭的情况下 将tinker需要的类放入主dex
            multiDexKeepProguard file('multidexConfig.pro')
        }
        //测试环境[崩溃日志写入sd卡;测试环境ip(https);混淆代码]
        dev_test {
            resValue "string", "app_name", "xx测试"
            //是否打印日志
            buildConfigField "boolean", "IS_DEBUG", "false"
            //测试环境ip
            buildConfigField "boolean", "API_ONLINE", "false"
            buildConfigField "boolean", "API_TEST", "true"
            // 预上线
            buildConfigField "boolean", "API_PREBOARD", "false"
            //友盟key配置 线下false
            buildConfigField "boolean", "UM_ONLINE", "false"
            signingConfig signingConfigs.debug

;组件化拆分后就会出现不同组件都需要这个配置里的东西,我要在每个组件里都写一份?

mqzhangw commented 7 years ago

如果你要每个组件单独编译运行,是需要配置的,如果是集成到主项目,也只需要在主项目设置就好了

weinierfei commented 7 years ago

有没有其他的方法来做这些事情?比如我只有一个公共的配置?

mqzhangw commented 6 years ago

应该是可以的,可以自己建一个gradle文件,把这些配置统一写在里面,然后在每个build.gradle中apply from,具体我没有试过,你可以试一下

weinierfei commented 6 years ago

那你们项目中怎么控制这些环境状态的,比如线上线下换之类的?