У меня есть несколько типов сборки: debug
, release
.
У меня также есть два аромата pub
и dev
.
pub
ароматизированное приложение зависит от библиотеки pub
, что аналогично для аромата dev
.
Теперь я хотел бы, чтобы приложение типа debug
было зависеть от сборки библиотеки debug
. Не работает следующее:
pubReleaseCompile project(path: ':common', configuration: "pubRelease")
devReleaseCompile project(path: ':common', configuration: "devRelease")
pubDebugCompile project(path: ':common', configuration: "pubDebug")
devDebugCompile project(path: ':common', configuration: "devDebug")
Примечание. Библиотека настроена для компиляции всех вариантов.
Есть ли способ указать зависимость условного проекта на основе как вкуса, так и типа сборки?
EDIT: Чтобы избежать путаницы, следуйте соответствующим файлам build.gradle
из проекта, который я сейчас использую.
project/common/build.gradle (библиотека)
apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.hugo' // annotation-based code generated logs only in debug build
android {
defaultPublishConfig "pubRelease"
publishNonDefault true // four variants of the library are built
buildTypes {
debug {}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
pub {
// custom build config fields
}
dev {
// custom build config fields
}
}
}
dependencies {
// ...
}
project/parent/build.gradle (один из модулей приложения с использованием библиотеки)
apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.hugo'
android {
// ...
signingConfigs {
release {
// ...
}
}
buildTypes {
release {
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
shrinkResources true
minifyEnabled true
}
debug {
versionNameSuffix '-debug'
}
}
productFlavors {
pub {
// custom res values
}
dev {
// custom res values
}
}
}
dependencies {
// ...
pubCompile project(path: ':common', configuration: "pubRelease")
devCompile project(path: ':common', configuration: "devRelease")
}