2016-08-07 2 views
0

J'objecte mon code Java et j'utilise Proguard 5.2.1. Cependant, tout en utilisant l'interface graphique, il y a un avertissement qui est venu:Obfuscation avec Proguard GUI en gardant la classe sans fichier de configuration

ProGuard, version 5.2.1 
Reading program jar [/root/Desktop/ACGPlain.jar] 
Reading library jar [/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar] 
Warning: connection.HttpURLClient: can't find referenced class javax.crypto.SecretKey 
Warning: connection.HttpURLClient: can't find referenced class javax.crypto.SecretKey 
Warning: connection.HttpURLClient: can't find referenced class javax.crypto.SecretKey 
Warning: connection.HttpURLClient: can't find referenced class javax.crypto.SecretKey 
Warning: connection.HttpURLClient: can't find referenced class javax.crypto.SecretKey 
Warning: there were 5 unresolved references to classes or interfaces. 
     You may need to add missing library jars or update their versions. 
     If your code works fine without the missing classes, you can suppress 
     the warnings with '-dontwarn' options. 
     (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) 
Please correct the above warnings first. 

J'ai essayé de l'exécuter sur la ligne de commande avec les -dontwarn options et le faux-fuyants ne fonctionne pas. Je l'ai essayé ce qui suit aussi:

java -jar proguard.jar -injar /root/Desktop/ACGPlain.jar -outjar /root/Desktop/ACGOB.jar -keepclass javax.crypto.SecretKey 

Y at-il un moyen d'arrêter de se cacher proguard la classe javax.crypto.SecretKey? Je suis à la recherche d'une solution graphique et non du fichier de configuration. Mon code Java n'est pas pour android et est un programme pour sécuriser les transferts entre le serveur et le client.

Répondre

1

Les classes liées au cryptage se trouvent dans un fichier jar différent. Vous devrez ajouter une autre configuration -libraryjar à votre fichier de configuration:

-libraryjar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar 

Une autre option serait d'ignorer l'erreur, car il est inoffensif dans votre cas:

-ignorewarnings 

ou

-dontwarn javax.crypto.**