#java #proguard
Вопрос:
У меня есть эта аннотация, которую я использовал в yGuard, чтобы запутать свой код:
@Target(value = {ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE})
public @interface Keep {
boolean applyToMembers() default true;
}
Есть ли способ использовать этот же аннотированный класс с ProGuard, но делать то, что он делал на yGuard?
Пример:
Если бы класс имел эту аннотацию:
@Keep(applyToMembers = false)
Если класс имеет эту аннотацию с параметром applyToMembers в значении false, то будет сохранено только имя класса. И если это правда, процесс пропустит запутывание для всего класса (включая поля и методы).
В случае, если класс имеет @Keep(applyToMembers = false), и существует метод или поле с той же аннотацией выше, это поле/метод также будет пропущено из процесса запутывания/сжатия.
Есть ли способ добиться такого же поведения, но с помощью ProGuard, или мне нужно будет работать с несколькими аннотациями?