#android #android-productflavors #android-flavors
Вопрос:
У меня действительно есть проект с «базовым» и «пользовательским» вкусом. У базового есть некоторый код, например MainActivity
, и в пользовательском вкусе есть CustomMainActivity extends MainActivity
.
Я установил «базовый» вкус и рефакторинг->Переименовать некоторые методы удалить некоторые > static final
(IDE показывалась как не используемая). Затем я переключился на «пользовательский» вкус. Теперь этот (переопределенный) метод CustomMainActivity
не изменен, и удаленные переменные все еще используются, и я даже не получил никакой информации о том, что аромат ломается во время работы над «basic». Как настроить этот проект/аромат, чтобы учесть «основные» изменения с помощью «пользовательского» аромата?
productFlavors.all {
buildConfigField "String", "buildVersion", ""default""
}
flavorDimensions "default"
productFlavors {
basic {
buildConfigField "String", "buildVersion", ""default""
buildConfigField "String", "orientation", ""PORTRAIT""
buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" System.currentTimeMillis() "L)"
dimension "default"
}
custom {
dimension "default"
buildConfigField "String", "buildVersion", ""custom""
buildConfigField "String", "orientation", ""LANDSCAPE""
buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" System.currentTimeMillis() "L)"
}
}
sourceSets.basic {
res.srcDirs = ['res', 'src/main/res']
assets.srcDirs = ['assets']
}
sourceSets.custom {
java.srcDirs = ['src/main/java', 'src/custom/java']
res.srcDirs = ['res', 'src/custom/res']
assets.srcDirs = ['src/custom/assets']
}
PS. некоторая предыстория: у меня есть этот проект как есть, я очистил много кода в «basic», а затем понял, что есть еще одна особенность… Когда я переключился на этот «пользовательский», он теперь не будет строиться… Так что теперь я должен очистить код в этом варианте отдельно, но для будущих изменений кода (в «базовом») Я хочу с уважением отнестись к этим изменениям и в других вариантах (если применимо/связано)