Здравствуйте, я пишу приложение для Android, и я настроил Proguard, чтобы запутать приложение. Однако я использую classloader для динамической загрузки различных расширений в мое приложение. Проблема в том, что они неправильно загружаются, если их имена изменены. Как сохранить Proguard в запутывании определенных имен классов?Proguard сохранить имена классов?
ответ
Используйте -keepnames
вариант в вашем proguard.cfg
Обратитесь к руководству https://www.guardsquare.com/en/proguard/manual/usage#keepoptions:
-keepnames
class_specification
-keep,allowshrinking
Сокращенно class_specificationОпределяет классы и члены класса, чьи имена должны быть сохранены, если они 't удалены в фазе сокращения. Например, вы можете захотеть сохранить все имена классов классов, реализующих интерфейс Serializable, чтобы обработанный код оставался совместимым с любыми первоначально сериализованными классами. Классы, которые не используются вообще, могут быть удалены. Применяется только при запутывании.
Это сохраняет имена классов нетронутыми:
-keepnames class com.somepackage.*
Удобный наконечник для всех, кто не хочет ProGuard изменить любое имя класса:
# please KEEP ALL THE NAMES
-keepnames class ** { *; }
Таким образом, вы получите читаемых следы стека в то же время выкидывая вещи, которые вам не нужны. :-)
'' '-dontobfuscate''' - это правильный способ отключить обфускацию. –
Неправильный путь. Лучше отключить обфускацию с помощью этой конфигурации: «-dontobfuscate/n -optimizations! Code/allocation/variable» – oxied
- 1. Как заставить Proguard сохранить имена методов классов и имена атрибутов, как есть?
- 2. proguard не останавливает имя метода обфускации, несмотря на «Сохранить имена»
- 3. В proguard, как сохранить набор имен методов классов?
- 4. Как я могу сохранить мои имена классов?
- 5. Proguard удаление классов log4j
- 6. классов Обновить Proguard кэшировать
- 7. Как сказать Proguard для обфускации имен классов
- 8. Соблюдать имена файлов с proguard
- 9. Строчные имена классов, имена переменных
- 10. Android ProGuard обфускации определенных классов
- 11. Obfuscate Имена классов с основными методами
- 12. Имена классов конкретных классов и иерархии классов
- 13. ES6 Динамические имена классов
- 14. JQuery сравнить имена классов
- 15. Динамические имена классов (jQuery)
- 16. сериализации: Динамические имена классов
- 17. Как использовать имена классов?
- 18. GWT - имена классов css
- 19. ReactJS и имена классов
- 20. Ассоциации и имена классов
- 21. Rails Зарезервированные имена классов
- 22. ProGuard сохранить класс не работает
- 23. Как сохранить класс с ProGuard
- 24. Имена переменных метода защиты Proguard keep
- 25. Держите внутренние имена методов интерфейса в ProGuard
- 26. сохраняют только имена функций при обфускации для proguard
- 27. Как получить поля классов, если proguard включен?
- 28. jsonschema2pojo дубликаты классов (не дублируются имена классов)
- 29. Узел + Реакция - Имена классов переносимых классов CSS
- 30. Proguard - Не можете найти супер классов
Итак, я печатаю: -keepnames com.randompackage.lol.ClassName – Nik
Хорошо, есть ли способ сделать это с помощью целого пакета? – Nik
Да, вы используете подстановочный знак *. ie -keepnames com.randompackage.lol. * Сохраняет все классы в lol –