У меня есть несколько больших кусков кода, которые тестируют поведение некоторых не полностью документированных Android APis (вздох), которые, кажется, ведут себя по-разному для разных версий Android, и я хочу включить их в отладочные сборки и выйти из них (они всегда удаляются из сборок релиза), что я пытаюсь сделать, используя buildConfigFields в build.gradle следующим образом
buildTypes {
release {
minifyEnabled true
buildConfigField("boolean", "RINGERMODETEST", "false")
...
}
debug {
// set this to false to remove the optional code
buildConfigField("boolean", "RINGERMODETEST", "true")
...
}
}
Тогда в моем коде у меня есть
if (BuildConfig.RINGERMODETEST) {
// optional code
}
Чтобы удалить дополнительный код Мне нужно включить оптимизатор, но установка minifyEnabled также включит запутывание, которое я не хочу в отладочной сборке. Существует более ранний ответ на этот вопрос для Proguard на . Сокращение и оптимизация Proguard без запутывания , но, похоже, нет документации, в которой говорилось бы, как это сделать для R8. Я действительно не хочу изучать, как создать полный файл управления proguard, когда он должен быть заменен R8. и useProguard, скорее всего, скоро будет устаревшим.