Как варианты и конфигурация продуктов Android помогают поддерживать и поддерживать единую базу кода для распространения нескольких клиентов
У меня есть требование, чтобы варианты и конфигурации продуктов Android помогали поддерживать и поддерживать единую базу кода для распределения по нескольким клиентам. Я сослался на несколько ссылок, это дает основную идею. Мой вопрос на самом деле я иду в правильном направлении. Я очень новый для такого рода сценария.
Например: название продукта: клиент MohanApp 1: мультфильм, клиент 2: Disney, клиент 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"
}
}
Заранее спасибо.
1 ответ
Я нашел решение для Android WhiteLabeling/App Branding/ProductFalvours, здесь я делюсь своим build.gradle для создания брендинга приложения. синтаксис файла Gradle может варьироваться в зависимости от версии IDE.
Инструменты:
Android Studio IDE: 3.1
Целевая версия: 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 / Брендинг приложений / ProductFalvour Спасибо Android Studio за достижение результата. И спасибо всем моим реферальным авторам.
Удачного кодирования:)