I have some problem with the yguard library when i make an obfuscated jar.

Yguard remove default contructor type like this (no parameters, no visibility) :

   Test(){

   }       

Do you know why it remove this type of constructor ?

And do you have a solution to this problem ?

Thank you,

Best regards,

有帮助吗?

解决方案

I believe yGuard removes such constructors because of shrink task. Just exclude your class from shrinking like this (taken from this answer by 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>

Or use techniques described in troubleshooting section of yGuard documentation (http://www.yworks.com/products/yguard/yguard_ant_howto.html#hints).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top