Obfuscation - optimisation?

Martin Egholm Nielsen martin@egholm-nielsen.dk
Wed Dec 8 07:53:00 GMT 2004


>>But proguard does things like removing unsused stuff VERY efficient or
>>making methods that are never orverridden final. removes code withought
>>side-effects....
> Actually, I've found very sever side effects from pro-guards.  It
> seems any dynamically loaded class will be completely removed.  This
> can be manually overridden, but then the methods the dynamic classes
> call will still be removed if no other classes call the same methods.
> In the end no matter how much I specified to keep, there was always
> something else missing that I could only detect by runtime errors.  I
> expect any code which explicitly Class methods, or java reflection
> would have runtime errors.
> 
> Byte optimizations are a little better, but seem buggy.  I could not
> get code using the byte optimizations to run because methods were
> rewritten to expect a int return instead of a void return causing
> runtime stack errors, even with Sun's JRE.
> 
> The only part of proguard's optimization I could get to work without
> runtime errors was obfuscation.
That is weird! One should think that it works after so many years...



More information about the Java mailing list