У меня есть библиотека Android, и я использую ее в модуле приложения. В библиотеке я использую BuildConfig.SPECIAL_VALUE. Я хотел бы переопределить этот BuildConfig в своем модуле сборки модуля приложения.
Я нашел похожий вопрос, но он мне не помогает ( Доступ к buildConfigField из gradle в Android app ) Я пытаюсь это, но не работает:
Мой модуль приложения build.gradle:
android {
publishNonDefault true
compileSdkVersion 28
flavorDimensions "default"
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "app....id"
flavorDimensions "default"
minSdkVersion 23
targetSdkVersion 28
versionCode 1
versionName "1.0.0"
multiDexEnabled true
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField 'boolean', 'DEBUG_LOG_ENABLED', 'false'
signingConfig signingConfigs.productivity_mentor_release_config
debuggable = false
manifestPlaceholders = [crashlyticsEnabled: true]
}
debug {
testCoverageEnabled = false
buildConfigField 'boolean', 'DEBUG_LOG_ENABLED', 'true'
debuggable = true
manifestPlaceholders = [crashlyticsEnabled: false]
}
unitTest {
testCoverageEnabled = false
buildConfigField 'boolean', 'DEBUG_LOG_ENABLED', 'false'
manifestPlaceholders = [crashlyticsEnabled: false]
}
}
productFlavors {
develop {
buildConfigField 'boolean', 'LOG_EVENTS_TO_REMOTE_ENABLED', 'false'
buildConfigField 'boolean', 'FIREBASE_CRASH_ENABLED', 'false'
buildConfigField 'String', 'SPECIAL_VALUE', '"11"'
}
production {
buildConfigField 'boolean', 'LOG_EVENTS_TO_REMOTE_ENABLED', 'true'
buildConfigField 'boolean', 'FIREBASE_CRASH_ENABLED', 'true'
buildConfigField 'String', 'SPECIAL_VALUE', '"22"'
}
beta {
buildConfigField 'boolean', 'LOG_EVENTS_TO_REMOTE_ENABLED', 'true'
buildConfigField 'boolean', 'FIREBASE_CRASH_ENABLED', 'true'
buildConfigField 'String', 'SPECIAL_VALUE', '"33"'
}
roboTest {
minSdkVersion 18
buildConfigField 'boolean', 'LOG_EVENTS_TO_REMOTE_ENABLED', 'false'
buildConfigField 'boolean', 'FIREBASE_CRASH_ENABLED', 'true'
buildConfigField 'String', 'SPECIAL_VALUE', '"44"'
}
}
testOptions {
unitTests.returnDefaultValues = true
}
lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
И моя библиотека build.gradle:
android {
compileSdkVersion 28
flavorDimensions "default"
buildToolsVersion '28.0.3'
publishNonDefault true
defaultConfig {
minSdkVersion 22
targetSdkVersion 28
multiDexEnabled true
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation":
"$projectDir/schemas".toString()]
}
}
}
buildTypes {
release {}
debug {}
unitTest { }
}
productFlavors {
develop {
buildConfigField 'boolean', 'LOG_EVENTS_TO_REMOTE_ENABLED', 'false'
buildConfigField 'boolean', 'FIREBASE_CRASH_ENABLED', 'false'
buildConfigField 'String', 'SPECIAL_VALUE', '"1"'
}
production {
buildConfigField 'boolean', 'LOG_EVENTS_TO_REMOTE_ENABLED', 'true'
buildConfigField 'boolean', 'FIREBASE_CRASH_ENABLED', 'true'
buildConfigField 'String', 'SPECIAL_VALUE', '"2"'
}
beta {
buildConfigField 'boolean', 'LOG_EVENTS_TO_REMOTE_ENABLED', 'true'
buildConfigField 'boolean', 'FIREBASE_CRASH_ENABLED', 'true'
buildConfigField 'String', 'SPECIAL_VALUE', '"3"'
}
roboTest {
minSdkVersion 18
buildConfigField 'boolean', 'LOG_EVENTS_TO_REMOTE_ENABLED', 'false'
buildConfigField 'boolean', 'FIREBASE_CRASH_ENABLED', 'true'
buildConfigField 'String', 'SPECIAL_VALUE', '"4"'
}
}
testOptions {
unitTests.returnDefaultValues = true
}
lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
}
ext {
google_services_version = '16.0.7'
}