Как получить оптимизацию в Android без обфускации с помощью R8 - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть несколько больших кусков кода, которые тестируют поведение некоторых не полностью документированных 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, скорее всего, скоро будет устаревшим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...