欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android productFlavors的用法之——gradle 配置productFlavors &子模块配置productFlavors

程序员文章站 2022-03-28 17:48:36
前言1、什么时候用到在子模块配置productFlavors当子模块需要「配置不同信息」时,可以使用。比如:(1)子模块在不同开发环境(uat、sit)使用不同的请求地址url,可以配置productFlavors用来区分调用即可;(2)当使用模块化开发时,可以专门抽出一个子模块配置productFlavors,这样其他模块只需要依赖该子模块,就可以全局使用子模块的配置信息;2、备注:「子模块配置样式」与「主模块配置样式」应保持一致;配置1、主模块配置productFlavors...

前言

1、什么时候用到在子模块配置productFlavors
	当子模块需要「配置不同信息」时,可以使用。
	比如:
	(1)子模块在不同开发环境(uat、sit)使用不同的请求地址url,可以配置productFlavors用来区分调用即可;
	(2)当使用模块化开发时,可以专门抽出一个子模块配置productFlavors,这样其他模块只需要依赖该子模块,就可以全局使用子模块的配置信息;
2、备注:「子模块配置样式」与「主模块配置样式」应保持一致;

配置
1、主模块配置productFlavors

app/build.gradle

android {
  ...
    flavorDimensions 'default' // 定义必要的配置 否则会报错
    productFlavors {
        dev { 
            dimension = 'default'
             // 定义不同的包名
            applicationId = "com.test.demo1"
            // 自定义buildConfig.java中的变量供代码中使用
            buildConfigField "String", "APPID_BUGLY", '"12345"' 

        }

        sit {
            dimension = 'default'
            applicationId = "com.test.demo2"
            buildConfigField "String", "APPID_BUGLY", '"67890"'

        }
    }
}

2、子模块配置productFlavors

module/build.gradle

android {
...
    publishNonDefault true
    flavorDimensions 'default'
    productFlavors {
        dev {
            dimension = 'default'
            // 自定义buildConfig.java中的变量供代码中使用
            buildConfigField "String", "BASE_URL", '"http://158.223.12.22:8080"'
            buildConfigField "String", "RESOURCE_URL", '"http://158.223.12.22:8080"'
        }

        sit {
            dimension = 'default'
            // 自定义buildConfig.java中的变量供代码中使用
            buildConfigField "String", "BASE_URL", '"http://158.223.12.11:9090"'
            buildConfigField "String", "RESOURCE_URL", '"http://158.223.12.11:9090"'
        }
    }
}

只需要其他模块依赖该子模块,就可以全局使用该子模块的配置信息。
所以可以抽出一个「公共子模块」专门用来做「配置信息」使用。

本文地址:https://blog.csdn.net/fenglolo/article/details/108117051

相关标签: Android