我有一个项目可以说项目A (主项目/主要)。我需要创建相同的项目,但使用相同的代码和不同的包名称 项目B 和项目C 。
如果更改适用于所有更改,那么我将在项目A 中进行更改,这样如果我自动更新项目B 和项目C ,他们应该得到改变。
但是如果为项目级别进行任何自定义,那么我只需要更改项目B 。它不应影响项目A 或 C 。像这样我如何使用git
处理所有三个项目。
是否可以使用分支机构。
在此先感谢...
答案 0 :(得分:0)
在代码中使用build variants,而不是依赖于git中的多个分支。这样,可以将单个源代码生成为多个应用程序。
android {
compileSdkVersion ...
buildToolsVersion ...
defaultConfig {
applicationId "com.yourapp"
...
}
// Specify the build dimension and flavors
flavorDimensions "type"
productFlavors {
typeA {
dimension "type"
applicationIdSuffix '.typea' // Add this to differentiate the application ID
versionNameSuffix "-typea" // Add this to differentiate version naming
}
typeB {
dimension "type"
applicationIdSuffix '.typeb'
}
typeC {
dimension "type"
applicationIdSuffix '.typec'
}
}
}
如果您的课程位于同一个套餐中,只要您的应用程序ID不同,您就可以在设备上同时安装多个版本的应用程序。
要构建每个特定的应用,只需在Android Studio中更改所选的变体。
对于代码中的特定flavor实现,您可以使用BuildConfig.FLAVOR来检查当前应用程序的风格。
when (BuildConfig.FLAVOR) {
"typeA" -> {
// Do stuff for typeA app
}
"typeB" -> ...
"typeC" -> ...
}