我需要在单个项目中管理两个不同的客户端代码,因此我使用了 productFlavors 并为每个客户端定义了风格。
现在的问题是两者的源代码库相同,但需要定义不同applicationId
的
- com.abc
- com.def。
我将如何制作风味以使代码保持相同和appId
不同?
我需要在单个项目中管理两个不同的客户端代码,因此我使用了 productFlavors 并为每个客户端定义了风格。
现在的问题是两者的源代码库相同,但需要定义不同applicationId
的
我将如何制作风味以使代码保持相同和appId
不同?
添加如下代码块集applicationId
:
productFlavors {
abc {
resValue "string", "build_type", "Version " + defaultConfig.versionName
applicationId "com.abc"
}
def {
resValue "string", "build_type", "Version " + defaultConfig.versionName
applicationId "com.def"
}
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
即上例中的包名。