Ответ 1
Вы можете получить annotations.jar
и annotations.pro
из официального релиза ProGuard. Затем вы можете использовать аннотации, как обсуждалось здесь
Все необходимые параметры можно найти в proguard.cfg.
При использовании Proguard с Android методы, которые вызывается только посредством отражения (например, обратные вызовы, определенные в атрибутах XML onClick), ошибочно удаляются.
Одно из решений для этой проблемы - добавить каждый затронутый класс и метод к вашему proguard.cfg.
Как я могу использовать аннотации Java для достижения того же эффекта?
Я чувствую, что сделает код самодокументированным, и это позволит избежать кода и proguard.cfg, дрейфующих из синхронизации. Тем не менее, Android Proguard, похоже, не поставляется с аннотацией .jar, упомянутой в его документации.
Вы можете получить annotations.jar
и annotations.pro
из официального релиза ProGuard. Затем вы можете использовать аннотации, как обсуждалось здесь
Все необходимые параметры можно найти в proguard.cfg.
Недавно я столкнулся с этой проблемой. Вот что вам нужно сделать:
Чтобы исправить события onClick, добавьте это в настройки Proguard
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
Чтобы сохранить аннотацию, добавьте
-keepattributes **
или -keepattributes *Annotation*
Дополнительная информация доступна здесь http://www.simpligility.com/2010/12/hints-for-using-proguard-on-your-android-app/ Я использую maven-android-plugin для компиляции приложения для Android, и эта статья в значительной степени подводит итог тому, что я делаю для Android заставить его работать. Надеюсь, это поможет!