Лучшее приложение Java-обфускации для уменьшения размера
-
01-07-2019 - |
Вопрос
Важной частью мобильной разработки, особенно когда речь идет о мобильных играх, является ограничение размера приложения.Некоторые устройства устанавливают свои собственные ограничения по размеру, в то время как у всех операторов связи есть свои собственные требования к размеру приложений, размещаемых на их платформе.
Мой вопрос: существует ли приложение для обфускации Java, которое дает лучшие результаты уменьшения размера, чем другие существующие приложения для обфускации Java?
Я использую Proguard, потому что это обфускатор Netbeans по умолчанию, и с его помощью можно получить довольно хорошие результаты уменьшения размера (кстати, версия Proguard, поставляемая с Netbeans 6.1, — 3.7.Есть более новые версии, которые дают еще лучшие результаты, рекомендую приобрести последнюю).Но меня интересует, что еще есть и делают ли они свою работу лучше, чем Proguard.
Мой вывод:
Я ценю ответы.Карлос, твоего ответа было достаточно, чтобы убедить меня, что Proguard — это лучший вариант.Меня все еще можно убедить в обратном, но я не расстраиваюсь из-за моей нынешней установки.
У меня также были некоторые проблемы с запутыванием и запуском proguard на некоторых телефонах, но не слишком много.Мне всегда удавалось решить проблему, не используя аргумент Proguard «-overloadaggressively».Просто об этом следует помнить, если вы испытываете странное поведение, связанное с запутыванием информации.
Еще раз спасибо.
Решение
Когда дело доходит до J2ME и запутывания, стоит быть немного осторожным.Proguard — лучший выбор из-за многих лет разработки и множества исправлений ошибок.Я помню переход версий между 2.X и 3.X и то, как он сломал многие сборки моего (тогдашнего) работодателя.Это произошло потому, что некоторые изменения, которые позволили еще больше сэкономить размер, также тонким образом нарушили файлы классов в некоторых телефонах, в то время как в других и в настольных JVM все было совершенно нормально.
На сегодняшний день Proguard 3.11 — самый безопасный выбор среди обфускаторов.4.XX, вероятно, подойдет, если вам не нужно поддерживать очень старые телефоны.
Другие советы
Я также предпочитаю ProGuard как из-за уменьшения размера, так и из-за широты запутывания — см. http://proguard.sourceforge.net/.У меня нет ограничений по размеру, кроме скорости загрузки, но я не нашел ничего, что могло бы сжиматься еще больше.
Странно, что никто не вспомнил, что ProGuard умеет не только сжимать и запутывать код, но и оптимизировать.Последние версии позволяют указать несколько проходов для оптимизации (по умолчанию один проход), я могу указать, скажем, 9 проходов.
После декомпиляции своих классов я с трудом их узнаю, ProGuard реструктурирует множество вызовов методов.Все, что нужно, — это немного настроить это замечательное приложение.Так что я думаю, что ProGuard — это то, что вам нужно, просто не забудьте его немного настроить.А еще у него очень красивый руководство.