0

我需要在单个项目中管理两个不同的客户端代码,因此我使用了 productFlavors 并为每个客户端定义了风格。

现在的问题是两者的源代码库相同,但需要定义不同applicationId

  1. com.abc
  2. com.def。

我将如何制作风味以使代码保持相同和appId不同?

4

2 回答 2

2

添加如下代码块集applicationId

productFlavors {
        abc {
            resValue "string", "build_type", "Version " + defaultConfig.versionName
            applicationId "com.abc"
        }
        def {
            resValue "string", "build_type", "Version " + defaultConfig.versionName
            applicationId "com.def"
        }
于 2018-11-19T12:13:09.127 回答
0

Android 将为main/您想要在所有构建变体之间共享的所有内容创建源集和目录,因此无需在您的情况下创建新的源集。

并且您可以使用applicationIdSuffix不同的构建变体,在计算变体的最终应用程序 ID 时附加到“基本”应用程序 ID。

例如:-

flavorDimensions "appMode"

productFlavors {

    free {
        dimension "appMode"
        applicationIdSuffix ".free" //the application id of 'free' is com.example.com.free
    }
    paid {
        dimension "appMode"
        applicationIdSuffix ".paid"//the application id of 'free' is com.example.com.paid
    }
}

applicationIdSuffix 将附加到包名(基本应用程序 id), com.example.com即上例中的包名。

于 2018-11-19T12:20:44.250 回答