Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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