Answer the question
In order to leave comments, you need to log in
Android, SimpleXML, ProGuard?
There is a project that uses the SimpleXML library ( simple.sourceforge.net ) to parse XML , which uses Java annotations to mark up the class schema.
It was necessary to obfuscate the project using ProGuard , after obfuscation everything works successfully, except for the XML parsing classes. A NoSuchMethodException is thrown .
It is logical to assume that the problem is in ProGuard's obfuscation of annotations and their classes, however, persistent reading of ProGuard's documentation and manipulations with obfuscation options did not lead to the desired result.
If anyone has experience with a similar problem, any help would be greatly appreciated.
Answer the question
In order to leave comments, you need to log in
It is unlikely that I will be very useful, but I dealt with yGuard (they have fewer features and options than ProGuard, as I know) - there all such things are configured for individual packages or classes. Or globally - for example, “do not obfuscate static methods”, “do not obfuscate method names”, etc.
The settings look something like this (right in the build script):
<target name="obfuscate">
<taskdef name="yguard" classpath="installer/obfuscate/yguard.jar"
classname="com.yworks.yguard.YGuardTask" />
<yguard>
<inoutpair in="dist/guidesigner.jar" out="dist/guidesigner-sec.jar" />
<externalclasses>
<path refid="obfuscate-process-path" />
</externalclasses>
<rename mainclass="com.alee.designer.app.Designer" logfile="dist/obfuscation.log">
<!--<property name="error-checking" value="pedantic"/>-->
<keep>
<class implements="com.alee.designer.NonObfuscable" fields="private" />
<class name="com.alee.designer.app.dialogs.pixelgrabber.PixelGrabber"
methods="public" />
<class name="com.alee.designer.viewer.DesignerViewer" methods="public" />
</keep>
</rename>
</yguard>
</target>
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question