通过配置Flavors和自定义buildConfigField进行多个服务器地址打包

     通过配置Flavors和自定义buildConfigField进行多个服务器地址打包

    productFlavors{ } 是配置多渠道打包的.
       1).productFlavors{ } 与 buildTypes{ }里面的配置是多对多的关系。

            2).productFlavors{ } 其实是defaultConfig{ }的子集
        defaultConfig {}中的属性在productFlavors{}中都可以单独设置,若重复会以productFlavors{}中的属性为最终属性.

        a.可以对单独的productFlavors{ } 设置applicationId进而达到多个相同应用安装到同一台设备(现applicationId为唯一标识,区别于packageName)
        b.对单独的productFlavors{ }进行一些单独的配置或者操作

      eg:单独对company的flavors进行了applicationId、minSdk、和JUnit测试限制操作,这样打出的包只会对company的有影响,其他的flavors无影响


-------------->      

        defaultConfig的相关设置属性可直接在ProjectStructure中查看并设置

      

  buildConfigField自定义配置

        buildConfigField是用于解决Beta版本服务和Release版本服务地址不同
或者一些Log打印需求控制的.
    形式:buildConfigField "boolean", "LOG_DEBUG", "true"
    三个字段分别表示为: 自定义字段类型  自定义字段名  自定义字段值
    将buildConfigField写入到Flavors中在打包编译时就会单独的编入进去(PS.请注意单双引号的使用,对于链接需要额外的单引号buildConfigField的放置位置很灵活,如果Flavors的buildConfigField是一样的话,直接放入到debug{}和release{}中即可.)

          

  该步骤完成后同步下Gradle就可以在module下面的BuildConfig中每个Flavors下面看到自定义的属性.

  eg:查看时请注意路径,另外如果创建了多个Flavors时同步后可能只出现了第一个Flavors的文件夹.手动针对其他Flavors编译即可.

    

                    路径查看图                                                                                                                             Flavors对应的自定义属性查看

配置并编译完成后即可进行调用进行IP设置写入.(BuildConfig.自定义的属性名)



你可能感兴趣的:(Gradle打多个服务地址包)