我的应用程序jar包含来自swing-layout.jar的类,其中包含java 1.5的免费布局管理器。在混淆过程中,我收到很多警告,例如
[proguard] Note: org.jdesktop.layout.SwingLayoutStyle accesses a field 'INDE NT' dynamically [proguard] Maybe this is program field 'org.jdesktop.layout.LayoutStyl e { int INDENT; }'
我希望proguard单独离开org.jdesktop课程,并摆脱我尝试的警告
-keeppackagenames org.jdesktop.*
但它不起作用?
答案 0 :(得分:9)
-keep org.jdesktop.**
这里没有使用proguard 4.6 - 需要添加:
-keep class org.jdesktop.**
以防有人像我一样绊倒这个问题。
答案 1 :(得分:2)
我想,你想,
-keep org.jdesktop.**
注意两颗星。来自documentation:
* matches any part of a name not containing the package separator or directory separator.
** matches any part of a name, possibly containing any number of package separators or directory separators.
-keeppackagenames只保留...包名!你想要-keep,它可以保护包中的名字。