需要有关在复杂场景中管理构建版本和构建类型的帮助

时间:2016-07-27 15:45:46

标签: android gradle android-gradle

我将在4个不同的国家推出一个应用程序(假设A,B,C和D为四个不同的国家/地区)。所有国家/地区的代码库都相同,但每个国家/地区的UI屏幕都有细微变化。 对于每个国家/地区,有3种不同的环境。对于例如dev,prod和qa。每个环境都指向每个国家/地区的不同网址。 所以基本上4(国家)x 3(环境)= 12网址 例如

  1. 国家A,prod - > URL-1
  2. 国家A,qa - > URL-2
  3. 国家B,prod - > URL-3
  4. 其他国家和环境也一样。

    当前实施

    productFlavors {

        Aprod {
           // uri for prod, for country A
        }
    
        Aqa {
           // uri for qa, for country A
        }
    
        Adev {
           // uri for dev, for country A
        }
    
        Bprod {
           // uri for prod, for country B
        }
    
        Bqa {
           // uri for qa, for country B
        }
    
        ..... // for other countries and environments
    }
    
    buildTypes {
        release {
            // lines removed
        }
        debug {
           // lines removed
        }
    

    不利:

    1. 如果国家A和B的图像资源不同,那么为了维持这一点,我将不得不创建3个不同的文件夹,如Aprod,Aqa等,并将相同的图像放在所有这些文件夹中,同样用于国家B,它是的环境中。
    2. 其他方法

      我可以保持A,B,C和D作为口味。我将创建prod,qa和dev作为构建类型,但是如果我这样做,我将更改构建类型的定义。 根据我的研究风格表明不同的构建功能不同,构建类型基本相同的应用程序,但调试和发布版本。所以这意味着我不能将pra,qa作为构建类型。

      在这种情况下推荐的方法是什么?

1 个答案:

答案 0 :(得分:0)

True