Proguard слишком сильно сжимается - PullRequest
2 голосов
/ 24 марта 2012

Начиная с ADT 17, вы можете найти в папке gen класс BuildConfig с константой DEBUG. Я часто использую эту константу в своем коде, поскольку ADT автоматически изменяет значение при экспорте приложения.

Однако с Proguard это больше не работает. Например. У меня есть следующий фрагмент:

if (!BuildConfig.DEBUG) {
    ACRA.init(this);
}

Proguard замечает, что DEBUG имеет значение true, поэтому полностью удаляет этот фрагмент и сокращает приложение. После этого ADT меняет константу DEBUG, но это слишком поздно.

Единственное известное мне решение - создать собственную константу DEBUG и снова изменить ее вручную. Но мне очень нравится функциональность ADT. Знаете ли вы лучшее решение?

Заранее спасибо.

Изменить:

Есть обходной путь. Создайте собственную константу DEBUG, которая инициализируется во время выполнения:

debug = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));

Я создаю эту переменную в самом начале метода onCreate моего класса Application. Это обходной путь, который работает, но это не решение проблемы.

...