如何在一个项目中为少数应用程序创建风味

时间:2015-03-16 08:16:46

标签: android gradle android-productflavors

我遇到项目风格配置问题。

我想像这样定义项目结构:

三种应用程序(具有非常相似的功能)风味,免费和专业版每个,这意味着将有6个应用程序版本: - A(亲,免费) - B(亲,免费) - C(亲,免费)。

现在,例如,我构建项目B(免费版)并将资源与B(专业版)合并。当缺少来自B(免费版)的资源时,从专业版获取它,然后当它也缺失时,从main获取默认资源。

重要的是每个版本例如A(免费)和A(专业版)都有一些不同的资源(例如:应用程序图标,徽标等)。

实际上我有这样的东西,但它不能按我的意思运作。

    productFlavors {
    aPro {
        applicationId "com.example.apro"
    }

    aFree {
        applicationId "com.example.afree"
    }

    bPro {
        applicationId "com.example.bpro"
    }

    bFree {
        applicationId "com.example.bfree"
    }

    cPro {
        applicationId "com.example.cpro"
    }

    cFree {
        applicationId "com.example.cfree"
    }
}

1 个答案:

答案 0 :(得分:0)

您在build.gradle文件中所做的是正确的。除了gradle文件中的gradle配置外,您还需要在app/src文件夹下添加文件夹。所以项目结构是这样的:

  Project
|---- app
|     |---- build
|     |---- libs
|     |---- src
|           |---- aPro
|           |---- aFree
|           |---- bPro
|           |---- bFree
|           |---- cPro
|           |---- cFree
|           |---- main

在主文件夹下,有您的主要代码,例如功能,方法,资源。

productFlavorName文件夹下,您可以添加资源文件夹,添加应用程序图标,徽标等。

然后,在Android Studio中,打开Build Variants标签(在Android Studio的左侧栏中,垂直显示),选择Build Variant进行调试。

this official document中的更多详情。