Thomas Neidhart
Thomas Neidhart
The retracing of the sourcefile information is simply a heuristic. There is no information stored in the mapping file to correctly retrace this information. The sourcefile is simply set by...
Having a second though on this issue: from your stacktrace it looks like that you keep the original SourceFile attribute, but retrace overrides the correct original sourcefile with the heuristic....
If I understand you correctly, you want to obfuscate fields and methods that have the same original name with the same obfuscate name? Unfortunately this is not yet supported, there...
In this case you have code like that: ``` if ( s_log == null ) { s_log = new LogObject("Id2"); } ``` So ProGuard is not able to remove the...
Proguard has an optimization to remove write-only fields. In this case the field is accessed as well (null check), so its not removed. That would actually be a good improvement,...
We would need more information, ideally a reproducible sample. In your configuration I see that you use optimization in combination with -dontshrink. This can lead to all kind of weird...
We would need something, at least the class file of the class that fails verification. If -dontshrink is too difficult, could you at least try disabling some optimizations that might...
Thanks for the test, that would be an indication that disabling shrinking is really the culprit. Fyi: when classes are being merged, the class that is merged into another one...
We have a clue, but without any more input its impossible to confirm. In any way, using optimization with -dontshrink is not advised. Disabling class merging will avoid most of...
It depends your use-case. From your configuration that you posted above, I assume that you have enabled obfuscation. Now when you access classes dynamically you will have to add a...