Hi, im quite new to proguard and im trying to obfuscate my jar, however i am getting Expecting java type before ‘com/sun/javafx/font/.’ in line 31 of file, i have tried to add
-keep public class com/sun/javafx/font/. { public ; } to my config file, however that produces 'Expecting java type before 'com/sun/javafx/font/.’ in line 31 of file’ im not really sure how to solve it
Here is my full config file: Pastie.io
any help would be appreciated
Hi Suicolen,
It seems ProGuard cannot find certain classes in the input, these classes are required for the preverification and optimization steps. The best way to tackle this issue is by adding the missing library by using the -injars
option. The build log will normally contain additional information on this issue, more specific it will mention what classes ProGuard didn’t find. Based on these class paths mentioned in the logs, you can determine which library you should add using -injars
.
As an alternative, you can disable the preverification and optimization step using the options -dontpreverify
and -dontoptimize
, this is of course not the recommended approach.
This issue and other frequently occurring issues are documented in the troubleshooting section, which you can find here: ProGuard Manual: Troubleshooting | Guardsquare
Please note the -keep
rule you would like to add will not tackle this issue. As a side note I would like to point out there is a syntax mistake that tiggers the error you referred to. A correct syntax for that -keep
rule would be;
-keep class com.sun.javafx.font { public *; }
Kind regards,
Jonas