В моем приложении есть модуль приложения с различными типами выпуска и ошибками продукта. Файл Gradle выглядит так, как показано ниже.
У меня есть следующая конфигурация сборки для модуля "app".
android {
signingConfigs {
companydevconfig {
keyAlias 'company'
keyPassword '**'
storeFile file('../app/jksFils/company_dev.jks')
storePassword '**'
}
companyqaconfig {
keyAlias 'company'
keyPassword '**'
storeFile file('../app/jksFils/company_qa.jks')
storePassword '**'
}
companyprodconfig {
keyAlias 'company'
keyPassword '**'
storeFile file('../app/jksFils/release.keystore')
storePassword '**'
}
}
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.company.employee.dev"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.13"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
testCoverageEnabled true
}
}
flavorDimensions "company"
productFlavors {
dev {
dimension "company"
applicationId "com.company.employee.dev"
versionCode 277
versionName "2.0.0.16"
signingConfig signingConfigs.companydevconfig
buildConfigField 'String', 'BASEURL', '"https://dev.company.com"'
}
qa {
dimension "company"
applicationId "com.company.employee.qa"
versionCode 225
versionName "2.0.2.2"
signingConfig signingConfigs.companyqaconfig
buildConfigField 'String', 'BASEURL', '"https://qa.company.com"'
}
prod {
dimension "company"
applicationId "com.company.employee.prod"
versionCode 38
versionName "1.5.20"
signingConfig signingConfigs.companyprodconfig
buildConfigField 'String', 'BASEURL', '"https://cloud.company.com"'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Теперь у меня есть модуль чата в виде библиотеки в том же проект. Как использовать поля buildConfig, определенные в модуле приложения в модуле чата.
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
apply from: '../shared_dependencies.gradle'
android {
publishNonDefault true
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
dataBinding {
enabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation project(':base')
implementation project(':common')
implementation project(':common-ui')
implementation project(':common-data')
}