为 android 中的每种口味替换一个 XML 文件

Replace an XML file for each flavour in android

我正在尝试整合 Braze into my application for push notification. Braze need us to create a braze.xml file inside src/main/res/values where we add the API key and other braze related stuff(here is the documentation)。

现在我需要区分 prod 和 qa 环境,这意味着它们将有 2 个不同的 API 键。

我想知道如何使用不同的 braze.xml 来获得不同的口味。

我找到了 this:

sourceSets {
    main {
         java {
            srcDirs = ['src']
         }
    }

    test {
        java {
            srcDirs = ['test']
        }
    }
}

我想知道如何使用它来替换我的 braze.xml 以适应不同的构建变体。

您可以为项目的不同风格创建多个源集。默认情况下,只有 main/ 个由工作室创建的源集,其中包含将在不同变体之间共享的通用代码。有关如何创建和维护源集的更多详细信息,请查看 official 文档。

编辑 - 1

要详细说明,您可以使用 build.gradle(模块级文件)并指定类似 -

的风格来创建项目的多种风格
buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

        }
        sit {
         initWith debug
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
}

一旦你创建了你的风格Gradle同步你的项目。

现在您可以通过右键单击 Values folder >> New >> Values Resource File 为每种口味创建 braze.xml fike。键入文件示例 braze.xml 的名称,并在源集 select 下键入要为其创建此文件的风味名称。如下图名称所示

您可以重复此步骤,直到涵盖所有风格,然后每当您从构建变体切换 gradle 风格时,IDE 将自动开始使用该风格的指定文件。