项目中gradle使用小结

2018-03-20  本文已影响45人  扶云九霄

需求:一套代码生成多个应用(功能大体相同,小部分不同)

1.productFlavors配置多个渠道

  productFlavors {
          aaa{
              applicationId "xxxx"
              buildConfigField "String", "BASE_URL", ""http://xxxx""
              resValue "string", "version",  "V" + defaultConfig.versionName +           
              releaseTime()
          }

          bbb{
              applicationId "xxxx"
               buildConfigField "String", "BASE_URL", ""http://xxxx""
               resValue "string", "version",  "V" + defaultConfig.versionName +           
               releaseTime()
          }
 }

2.在app项目src/main同级目录[渠道名]

根据渠道编写不同的配置

123.png

3.sourceSets根据flavor选择资源
sourceSets {
main {
def currentFlavor = getCurrentFlavor()
if (currentFlavor.equals("aaa")) {
manifest.srcFile 'src/main/manifestaaa/AndroidManifest.xml'
} else if (currentFlavor.equals("bbb")){
manifest.srcFile 'src/main/manifestdongfang/AndroidManifest.xml'
} else if (currentFlavor.equals("ccc")){
manifest.srcFile 'src/main/manifestccc/AndroidManifest.xml'
}

        //排除资源文件
        java {
            if (!isNeedThirdLogin()) {
                exclude 'xxx'
            }

            if (!isNeedJPush()) {
                exclude 'com.xxx'
            }
        }
    }
}

4.可以根据渠道配置不同的依赖


234.png

5.其他gradle相关

  1. 多module统一版本依赖
7.png
上一篇 下一篇

猜你喜欢

热点阅读