Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Proguard хранит только имя класса и все члены и методы внутри класса.

Автор вопроса: K SathishОтветов: 1

Документация недостаточно ясна, чтобы объяснить это.

-keepnames класс_спецификация

Сокращение от -keep,allowshrinking class_specification

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

Пожалуйста, кто-нибудь может объяснить атрибут keepnames. сохранит ли это только имя класса или все члены и методы класса. Пожалуйста, предоставьте мне способ сохранить только имя класса, а не все методы и члены класса.

Извините за плохой английский. Я думал, что ясно объяснил свою проблему.

androidjavaproguardobfuscationandroid-proguard

Ответы

Ответ 1 · рейтинг 6 · ddassa

Пожалуйста, просмотрите документацию; в нем есть все и немного проб и ошибок, необходимых для полного понимания. :)

документация proguard

Кстати, просто чтобы сохранить имя класса, добавьте следующую строку в ваш файл progurard

-keepnames class your.package.name.ClassName {

}

пример:

-keepnames class com.example.test.domain.Person {

}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы