Как настроить Proguard для Android, чтобы он не удалял методы обработчика событий, на которые есть ссылки только в макетах XML? - PullRequest
1 голос
/ 16 февраля 2011

У меня есть ряд действий, когда метод обработчика, который выполняется, когда пользователь касается определенных элементов пользовательского интерфейса, удаляется Proguard, потому что он не может видеть, что он используется.

Какое лучшее решениек этому?

  • Отключить функцию сжатия кода в Proguard (не идеально, поскольку это полезно во многих областях)

  • Есть ли способаннотировать методы, которые я хочу оставить в?

  • Как я могу настроить конфигурацию Proguard, чтобы никогда не удалять методы, начинающиеся с "on"?

Я попытался добавить эту строку (т.е. не обрезать методы, наследующие от моего подкласса объекта Activity), но это не дало желаемого эффекта.Я предполагаю, что это относится к классам, но не к их методам.

-keep public class * extends com.myapp.CustomActivity

1 Ответ

2 голосов
/ 16 февраля 2011

Для каждого метода, который вы хотите сохранить, добавьте еще одну строку в файл proguard:

класс-членов класса * { public void exampleMethodName1 (android.view.View); public void exampleMethodName2 (android.view.View); ... }

Вы можете найти эту тему по адресу: Proguard и отражение в Android

...