Лучшее приложение Java-обфускации для уменьшения размера

StackOverflow https://stackoverflow.com/questions/93290

  •  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 — это то, что вам нужно, просто не забудьте его немного настроить.А еще у него очень красивый руководство.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top