Android 产品风格和配置如何帮助维护和支持单一代码库来分发多个客户端
How Android Product Flavors and Configuration help to maintain and support single code base to distribute multiple client
我有一个要求 Android 产品风格和配置有助于维护和支持单一代码库以分发多个客户端。
我提到了几个链接,它给出了一个基本的想法。我的问题实际上是我要走正确的方向吗?我对这种情况很陌生。
例如:
产品名称:MohanApp
客户1:卡通,
客户2:迪士尼,
客户 3:Pogo,
flavorDimensions "app", "server"
productFlavors {
cartoon {
dimension "app"
applicationId 'com.cc.whitelabel.cartoon'
manifestPlaceholders = [
appIcon: "@drawable/cartoon_network"
]
}
disney {
dimension "app"
applicationId 'com.cc.whitelabel.disney'
}
pogo {
dimension "app"
applicationId 'com.cc.whitelabel.pogo'
}
dev {
dimension "server"
}
staging {
dimension "server"
}
production {
dimension "server"
}
}
提前致谢。
我找到了 Android WhiteLabeling/App Branding/ProductFalvours 的解决方案,在这里我分享我的 build.gradle 创建应用品牌。 gradle 文件语法可能因 IDE 的版本而异。
Tools:
Android Studio IDE:3.1
Target Version:27
AppModule build.gradle
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.appmohan"
minSdkVersion 21
targetSdkVersion 27
versionCode 2
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
// APK signing configuration
android.signingConfigs {
MobileApp { }
}
flavorDimensions "app"
productFlavors {
cartoon {
dimension "app"
applicationId "com.appmohan.cartoon"
versionName '1.0.1'
versionCode 2
minSdkVersion 21
targetSdkVersion 26
}
disney {
dimension "app"
applicationId "com.appmohan.disney"
versionName "1.0.1"
versionCode 2
minSdkVersion 21
targetSdkVersion 26
}
pogo {
dimension "app"
applicationId "com.appmohan.pogo"
versionName "1.0.1"
versionCode 2
minSdkVersion 21
targetSdkVersion 26
}
}
android.buildTypes {
debug {
//do our url stuff
}
stagging {
//do our url stuff
}
release {
//do our url stuff
}
}
sourceSets.cartoon{
res.srcDirs = ['res', 'src/cartoon/res']
}
sourceSets.disney{
res.srcDirs = ['res', 'src/disney/res']
}
sourceSets.pogo{
res.srcDirs = ['res', 'src/pogo/res']
}
}
出于实验和教育目的,我创建了这个应用程序。
GitHub Link AndroidWhiteLabel/App Branding/ProductFalvour
感谢 Android Studio 实现 result.And 感谢我所有的推荐作者。
快乐编码:)
我有一个要求 Android 产品风格和配置有助于维护和支持单一代码库以分发多个客户端。 我提到了几个链接,它给出了一个基本的想法。我的问题实际上是我要走正确的方向吗?我对这种情况很陌生。
例如: 产品名称:MohanApp 客户1:卡通, 客户2:迪士尼, 客户 3:Pogo,
flavorDimensions "app", "server"
productFlavors {
cartoon {
dimension "app"
applicationId 'com.cc.whitelabel.cartoon'
manifestPlaceholders = [
appIcon: "@drawable/cartoon_network"
]
}
disney {
dimension "app"
applicationId 'com.cc.whitelabel.disney'
}
pogo {
dimension "app"
applicationId 'com.cc.whitelabel.pogo'
}
dev {
dimension "server"
}
staging {
dimension "server"
}
production {
dimension "server"
}
}
提前致谢。
我找到了 Android WhiteLabeling/App Branding/ProductFalvours 的解决方案,在这里我分享我的 build.gradle 创建应用品牌。 gradle 文件语法可能因 IDE 的版本而异。
Tools:
Android Studio IDE:3.1
Target Version:27
AppModule build.gradle
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.appmohan"
minSdkVersion 21
targetSdkVersion 27
versionCode 2
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
// APK signing configuration
android.signingConfigs {
MobileApp { }
}
flavorDimensions "app"
productFlavors {
cartoon {
dimension "app"
applicationId "com.appmohan.cartoon"
versionName '1.0.1'
versionCode 2
minSdkVersion 21
targetSdkVersion 26
}
disney {
dimension "app"
applicationId "com.appmohan.disney"
versionName "1.0.1"
versionCode 2
minSdkVersion 21
targetSdkVersion 26
}
pogo {
dimension "app"
applicationId "com.appmohan.pogo"
versionName "1.0.1"
versionCode 2
minSdkVersion 21
targetSdkVersion 26
}
}
android.buildTypes {
debug {
//do our url stuff
}
stagging {
//do our url stuff
}
release {
//do our url stuff
}
}
sourceSets.cartoon{
res.srcDirs = ['res', 'src/cartoon/res']
}
sourceSets.disney{
res.srcDirs = ['res', 'src/disney/res']
}
sourceSets.pogo{
res.srcDirs = ['res', 'src/pogo/res']
}
}
出于实验和教育目的,我创建了这个应用程序。 GitHub Link AndroidWhiteLabel/App Branding/ProductFalvour 感谢 Android Studio 实现 result.And 感谢我所有的推荐作者。
快乐编码:)