Question

J'essaie actuellement de masquer mon application Eclipse RCP avec ProGuard. Le problème est qu’elle masque les noms de package (la classe My.Package.Class se transforme en quelque chose comme a.b.c), mais conserve les noms de package dans la section Export-Package de MANIFEST.MF.

Cela entraîne le fait que mon application (qui est en fait un ensemble de bundles OSGi) ne peut pas être exécutée, car les noms de package spécifiés dans la section Export-Package de MANIFEST.MF ne peuvent pas être résolus.

Quelqu'un a-t-il réussi à masquer une application RCP basée sur OSGi avec ProGuard? En gros, je vois deux choix: soit désactiver complètement l’obscurcissement des noms de paquetages, soit obfucquer la section Export-Package de MANIFEST.MF, mais je ne trouve pas le moyen de les implémenter. Proguard semble masquer uniquement le nom de classe Bundle-Activator dans MANIFEST.MF, en ignorant toutes les autres sections. Merci d'avance!

Était-ce utile?

La solution

Désactive l'obscurcissement du nom du paquet; Je veux dire quelles valeurs commerciales importantes exposez-vous en disant au monde les noms des paquets?

Si cela pose vraiment un problème, déplacez tout le code dans une bibliothèque entièrement obfusquée et utilisez-la dans un plugin non obfusqué.

Cela dit, pensez à ne pas perdre votre temps à faire de l'obscurcissement. Cela vous coûtera temps et argent et on peut se demander s'il y a un avantage. Au moment où vos concurrents ont commencé à désassembler votre précieux travail, vous écrirez la prochaine version. Alors pourquoi s'embêter?

Autres conseils

L'obscurcissement du bundle OSGi n'est pas pris en charge de manière intégrée par ProGuard. Consultez la demande de fonctionnalité Proguard n ° 135 pour plus d'informations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top