0

当我制作一个混淆的 jar 时,我的 yguard 库有一些问题。

Yguard 像这样删除默认构造函数类型(无参数,无可见性):

   Test(){

   }       

你知道为什么它会删除这种类型的构造函数吗?

你有解决这个问题的办法吗?

谢谢,

此致,

4

1 回答 1

0

我相信 yGuard 会因为收缩任务而删除此类构造函数。只需将您的班级排除在这样的缩小范围之外(predi取自此答案):

<shrink logfile="obfuscate_shrink_log.xml">
<property name="error-checking" value="pedantic"/>
<keep>
    <method name="void main(java.lang.String[])" class="package.path.to.main.Class"/>
    <class name="package.path.to.my.implementation.of.DatatypeLibraryFactory" methods="public"/>
    <class classes="public"/>
</keep>

或者使用 yGuard 文档 ( http://www.yworks.com/products/yguard/yguard_ant_howto.html#hints ) 的故障排除部分中描述的技术。

于 2012-11-22T12:36:46.067 回答