Как запутать комплект OSGi с помощью ProGuard? - PullRequest
4 голосов
/ 19 марта 2009

В настоящее время я пытаюсь запутать свое приложение Eclipse RCP с помощью ProGuard. Проблема в том, что он скрывает имена пакетов (класс My.Package.Class превращается в нечто вроде a.b.c), но сохраняет имена пакетов в разделе Export-Package файла MANIFEST.MF.

Это приводит к тому, что мое приложение (которое на самом деле представляет собой набор OSGi-комплектов) не может быть запущено, поскольку имена пакетов, указанные в разделе Export-Package файла MANIFEST.MF, не могут быть разрешены.

У кого-нибудь был какой-нибудь успех с ProGuard, запутывающим приложение на основе OSGi RCP? По сути, я вижу два варианта: либо полностью отключить обфускацию имен пакетов, либо скрыть раздел MANIFEST.MF Export-Package, но я не могу найти способ реализовать какой-либо из них. Похоже, что Proguard скрывает только имя класса Bundle-Activator в MANIFEST.MF, пропуская все остальные разделы. Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 19 марта 2009

Отключить запутывание имени пакета; Я имею в виду, какие важные бизнес-ценности вы раскрываете, сообщая миру имена пакетов?

Если это действительно проблема, переместите весь код в полностью запутанную библиотеку и используйте библиотеку в необфускацированном плагине.

Тем не менее, подумайте о том, чтобы вообще не тратить время на запутывание. Это будет стоить вам времени и денег, и сомнительно, есть ли какая-либо выгода. В то время, когда ваши конкуренты начали разбирать вашу ценную работу, вы будете писать следующую версию. Так зачем?

0 голосов
/ 27 февраля 2013

Обфускация OSGi не поддерживается встроенным ProGuard. Проверьте запрос Proguard # 135 для получения дополнительной информации.

...