Une histoire sur l'exportation d'un projet javaFX et la tentative d'obfusquer le fichier jar créé. De la conclusion, la cause était que l'annotation disparaissait lorsqu'elle était obscurcie par proguard. En guise de contre-mesure, j'ai d'abord essayé de le masquer avec les paramètres suivants qui ne font rien.
#sample.pro
#Se mettre à ne rien faire
-injars 'C:\******\input.jar'
-outjars 'C:\******\output.jar'
#Pot externe
-libraryjars 'C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar'
-libraryjars 'C:\****\*****.jar'
-libraryjars 'C:\****\*****.jar'
#Paramètre d'attribut
-keepattributes *Annotation*, Signature, Exceptions, InnerClass
#Réglage de la classe
-keep class * {
*;
}
Si cela ne fonctionne pas, le fichier jar est peut-être mal configuré. Si cela fonctionne, supprimez la partie obscurcie d'ici. Par exemple, classez chaque package comme indiqué ci-dessous et définissez-les individuellement.
$sample2.pro
#Paramètres individuels pour chaque package
-injars 'C:\******\input.jar'
-outjars 'C:\******\output.jar'
#Pot externe
-libraryjars 'C:\Program Files\Java\jdk1.8.0_144\jre\lib\rt.jar'
-libraryjars 'C:\****\*****.jar'
-libraryjars 'C:\****\*****.jar'
#Paramètre d'attribut
-keepattributes *Annotation*, Signature, Exceptions, InnerClass
#Réglage de la classe
-keep class package1.* { *;}
-keep class package2.* { *;}
-keep class package3.* { *;}
-keep class package4.* { *;}
Recommended Posts