add export to c# button
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
<!-- This Ant build file illustrates how to process applets.
|
||||
Usage: ant -f applets.xml -->
|
||||
|
||||
<project name="Applets" default="obfuscate" basedir="../..">
|
||||
|
||||
<target name="obfuscate">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="lib/proguard.jar" />
|
||||
|
||||
<proguard verbose="true"
|
||||
printseeds="on"
|
||||
printmapping="out.map"
|
||||
renamesourcefileattribute="SourceFile">
|
||||
|
||||
<!-- Specify the input jars, output jars, and library jars. -->
|
||||
|
||||
<injar file="in.jar" />
|
||||
<outjar file="out.jar" />
|
||||
|
||||
<libraryjar file="${java.home}/lib/rt.jar" />
|
||||
|
||||
<!-- Optionally preserve line numbers in the obfuscated stack traces.
|
||||
<keepattribute name="LineNumberTable">
|
||||
<keepattribute name="SourceFile">
|
||||
-->
|
||||
|
||||
<!-- Preserve all annotations. -->
|
||||
|
||||
<keepattribute name="*Annotation*" />
|
||||
|
||||
<!-- Preserve all public applets. -->
|
||||
|
||||
<keep access="public" extends="java.applet.Applet" />
|
||||
|
||||
<!-- Preserve all native method names and the names of their classes. -->
|
||||
|
||||
<keepclasseswithmembernames includedescriptorclasses="true">
|
||||
<method access="native" />
|
||||
</keepclasseswithmembernames>
|
||||
|
||||
<!-- Preserve the methods that are required in all enumeration classes. -->
|
||||
|
||||
<keepclassmembers allowoptimization="true" type="enum">
|
||||
<method access="public static"
|
||||
type="**[]"
|
||||
name="values"
|
||||
parameters="" />
|
||||
<method access="public static"
|
||||
type="**"
|
||||
name="valueOf"
|
||||
parameters="java.lang.String" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Explicitly preserve all serialization members. The Serializable
|
||||
interface is only a marker interface, so it wouldn't save them.
|
||||
You can comment this out if your library doesn't use serialization.
|
||||
If your code contains serializable classes that have to be backward
|
||||
compatible, please refer to the manual. -->
|
||||
|
||||
<keepclassmembers implements="java.io.Serializable">
|
||||
<field access ="static final"
|
||||
type ="long"
|
||||
name ="serialVersionUID" />
|
||||
<field access ="static final"
|
||||
type ="java.io.ObjectStreamField[]"
|
||||
name ="serialPersistentFields" />
|
||||
<method access ="private"
|
||||
type ="void"
|
||||
name ="writeObject"
|
||||
parameters="java.io.ObjectOutputStream" />
|
||||
<method access ="private"
|
||||
type ="void"
|
||||
name ="readObject"
|
||||
parameters="java.io.ObjectInputStream" />
|
||||
<method type ="java.lang.Object"
|
||||
name ="writeReplace"
|
||||
parameters="" />
|
||||
<method type ="java.lang.Object"
|
||||
name ="readResolve"
|
||||
parameters="" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Your application may contain more items that need to be preserved;
|
||||
typically classes that are dynamically created using Class.forName -->
|
||||
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,15 @@
|
||||
<!-- This Ant build file illustrates how to process applications,
|
||||
by including a ProGuard-style configuration file.
|
||||
Usage: ant -f applications1.xml -->
|
||||
|
||||
<project name="Applications" default="obfuscate" basedir="../..">
|
||||
|
||||
<target name="obfuscate">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="lib/proguard.jar" />
|
||||
|
||||
<proguard configuration="examples/applications.pro" />
|
||||
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,76 @@
|
||||
<!-- This Ant build file illustrates how to process applications,
|
||||
by including ProGuard-style configuration options.
|
||||
Usage: ant -f applications2.xml -->
|
||||
|
||||
<project name="Applications" default="obfuscate" basedir="../..">
|
||||
|
||||
<target name="obfuscate">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="lib/proguard.jar" />
|
||||
|
||||
<proguard>
|
||||
|
||||
-verbose
|
||||
|
||||
<!-- Specify the input jars, output jars, and library jars. -->
|
||||
|
||||
-injars in.jar
|
||||
-outjars out.jar
|
||||
|
||||
-libraryjars ${java.home}/lib/rt.jar
|
||||
<!-- -libraryjars junit.jar -->
|
||||
<!-- -libraryjars servlet.jar -->
|
||||
<!-- -libraryjars jai_core.jar -->
|
||||
<!-- ... -->
|
||||
|
||||
<!-- Save the obfuscation mapping to a file, and preserve line numbers. -->
|
||||
|
||||
-printmapping out.map
|
||||
-renamesourcefileattribute SourceFile
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
<!-- Preserve all annotations. -->
|
||||
|
||||
-keepattributes *Annotation*
|
||||
|
||||
<!-- Preserve all public applications. -->
|
||||
|
||||
-keepclasseswithmembers public class * {
|
||||
public static void main(java.lang.String[]);
|
||||
}
|
||||
|
||||
<!-- Preserve all native method names and the names of their classes. -->
|
||||
|
||||
-keepclasseswithmembernames class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
<!-- Preserve the methods that are required in all enumeration classes. -->
|
||||
|
||||
-keepclassmembers,allowoptimization enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
<!-- Explicitly preserve all serialization members. The Serializable
|
||||
interface is only a marker interface, so it wouldn't save them.
|
||||
You can comment this out if your library doesn't use serialization.
|
||||
If your code contains serializable classes that have to be backward
|
||||
compatible, please refer to the manual. -->
|
||||
|
||||
-keepclassmembers class * implements java.io.Serializable {
|
||||
static final long serialVersionUID;
|
||||
static final java.io.ObjectStreamField[] serialPersistentFields;
|
||||
private void writeObject(java.io.ObjectOutputStream);
|
||||
private void readObject(java.io.ObjectInputStream);
|
||||
java.lang.Object writeReplace();
|
||||
java.lang.Object readResolve();
|
||||
}
|
||||
|
||||
<!-- Your application may contain more items that need to be preserved;
|
||||
typically classes that are dynamically created using Class.forName -->
|
||||
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,99 @@
|
||||
<!-- This Ant build file illustrates how to process applications,
|
||||
using a full-blown XML configuration.
|
||||
Usage: ant -f applications3.xml -->
|
||||
|
||||
<project name="Applications" default="obfuscate" basedir="../..">
|
||||
|
||||
<target name="obfuscate">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="lib/proguard.jar" />
|
||||
|
||||
<proguard verbose="true"
|
||||
printseeds="on"
|
||||
printmapping="out.map"
|
||||
renamesourcefileattribute="SourceFile">
|
||||
|
||||
<!-- Specify the input jars, output jars, and library jars. -->
|
||||
|
||||
<injar file="in.jar" />
|
||||
<outjar file="out.jar" />
|
||||
|
||||
<libraryjar file="${java.home}/lib/rt.jar" />
|
||||
<!-- libraryjar file="junit.jar" / -->
|
||||
<!-- libraryjar file="servlet.jar" / -->
|
||||
<!-- libraryjar file="jai_core.jar" / -->
|
||||
<!-- ... / -->
|
||||
|
||||
<!-- Preserve line numbers in the obfuscated stack traces. -->
|
||||
|
||||
<keepattribute name="LineNumberTable" />
|
||||
<keepattribute name="SourceFile" />
|
||||
|
||||
<!-- Preserve all annotations. -->
|
||||
|
||||
<keepattribute name="*Annotation*" />
|
||||
|
||||
<!-- Preserve all public applications. -->
|
||||
|
||||
<keepclasseswithmembers access="public">
|
||||
<method access ="public static"
|
||||
type ="void"
|
||||
name ="main"
|
||||
parameters="java.lang.String[]" />
|
||||
</keepclasseswithmembers>
|
||||
|
||||
<!-- Preserve all native method names and the names of their classes. -->
|
||||
|
||||
<keepclasseswithmembernames includedescriptorclasses="true">
|
||||
<method access="native" />
|
||||
</keepclasseswithmembernames>
|
||||
|
||||
<!-- Preserve the methods that are required in all enumeration classes. -->
|
||||
|
||||
<keepclassmembers allowoptimization="true" type="enum">
|
||||
<method access="public static"
|
||||
type="**[]"
|
||||
name="values"
|
||||
parameters="" />
|
||||
<method access="public static"
|
||||
type="**"
|
||||
name="valueOf"
|
||||
parameters="java.lang.String" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Explicitly preserve all serialization members. The Serializable
|
||||
interface is only a marker interface, so it wouldn't save them.
|
||||
You can comment this out if your library doesn't use serialization.
|
||||
If your code contains serializable classes that have to be backward
|
||||
compatible, please refer to the manual. -->
|
||||
|
||||
<keepclassmembers implements="java.io.Serializable">
|
||||
<field access ="static final"
|
||||
type ="long"
|
||||
name ="serialVersionUID" />
|
||||
<field access ="static final"
|
||||
type ="java.io.ObjectStreamField[]"
|
||||
name ="serialPersistentFields" />
|
||||
<method access ="private"
|
||||
type ="void"
|
||||
name ="writeObject"
|
||||
parameters="java.io.ObjectOutputStream" />
|
||||
<method access ="private"
|
||||
type ="void"
|
||||
name ="readObject"
|
||||
parameters="java.io.ObjectInputStream" />
|
||||
<method type ="java.lang.Object"
|
||||
name ="writeReplace"
|
||||
parameters="" />
|
||||
<method type ="java.lang.Object"
|
||||
name ="readResolve"
|
||||
parameters="" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Your application may contain more items that need to be preserved;
|
||||
typically classes that are dynamically created using Class.forName -->
|
||||
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,106 @@
|
||||
<!-- This Ant build file illustrates how to process a program library,
|
||||
such that it remains usable as a library.
|
||||
Usage: ant -f library.xml -->
|
||||
|
||||
<project name="Library" default="obfuscate" basedir="../..">
|
||||
|
||||
<target name="obfuscate">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="lib/proguard.jar" />
|
||||
|
||||
<proguard verbose="true"
|
||||
printmapping="out.map"
|
||||
renamesourcefileattribute="SourceFile">
|
||||
|
||||
<!-- Specify the input jars, output jars, and library jars. -->
|
||||
|
||||
<injar file="library.jar" />
|
||||
<outjar file="library_out.jar" />
|
||||
|
||||
<libraryjar file="${java.home}/lib/rt.jar" />
|
||||
|
||||
<!-- Keep some useful attributes. -->
|
||||
|
||||
<keepattribute name="Signature" />
|
||||
<keepattribute name="Exceptions" />
|
||||
<keepattribute name="InnerClasses" />
|
||||
<keepattribute name="PermittedSubclasses" />
|
||||
<keepattribute name="EnclosingMethod" />
|
||||
<keepattribute name="Deprecated" />
|
||||
<keepattribute name="SourceFile" />
|
||||
<keepattribute name="LineNumberTable" />
|
||||
|
||||
<!-- Preserve all public classes, and their public and protected fields
|
||||
and methods. -->
|
||||
|
||||
<keep access="public">
|
||||
<field access="public protected" />
|
||||
<method access="public protected" />
|
||||
</keep>
|
||||
|
||||
<!-- Preserve all .class method names. -->
|
||||
|
||||
<keepclassmembernames access="public">
|
||||
<method type ="java.lang.Class"
|
||||
name ="class$"
|
||||
parameters="java.lang.String" />
|
||||
<method type ="java.lang.Class"
|
||||
name ="class$"
|
||||
parameters="java.lang.String,boolean" />
|
||||
</keepclassmembernames>
|
||||
|
||||
<!-- Preserve all native method names and the names of their classes. -->
|
||||
|
||||
<keepclasseswithmembernames includedescriptorclasses="true">
|
||||
<method access="native" />
|
||||
</keepclasseswithmembernames>
|
||||
|
||||
<!-- Preserve the methods that are required in all enumeration classes. -->
|
||||
|
||||
<keepclassmembers allowoptimization="true" type="enum">
|
||||
<method access="public static"
|
||||
type="**[]"
|
||||
name="values"
|
||||
parameters="" />
|
||||
<method access="public static"
|
||||
type="**"
|
||||
name="valueOf"
|
||||
parameters="java.lang.String" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Explicitly preserve all serialization members. The Serializable
|
||||
interface is only a marker interface, so it wouldn't save them.
|
||||
You can comment this out if your library doesn't use serialization.
|
||||
If your code contains serializable classes that have to be backward
|
||||
compatible, please refer to the manual. -->
|
||||
|
||||
<keepclassmembers implements="java.io.Serializable">
|
||||
<field access ="final"
|
||||
type ="long"
|
||||
name ="serialVersionUID" />
|
||||
<field access ="static final"
|
||||
type ="java.io.ObjectStreamField[]"
|
||||
name ="serialPersistentFields" />
|
||||
<method access ="private"
|
||||
type ="void"
|
||||
name ="writeObject"
|
||||
parameters="java.io.ObjectOutputStream" />
|
||||
<method access ="private"
|
||||
type ="void"
|
||||
name ="readObject"
|
||||
parameters="java.io.ObjectInputStream" />
|
||||
<method type ="java.lang.Object"
|
||||
name ="writeReplace"
|
||||
parameters="" />
|
||||
<method type ="java.lang.Object"
|
||||
name ="readResolve"
|
||||
parameters="" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Your application may contain more items that need to be preserved;
|
||||
typically classes that are dynamically created using Class.forName -->
|
||||
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,53 @@
|
||||
<!-- This Ant build file illustrates how to process J2ME midlets.
|
||||
Usage: ant -f midlets.xml -->
|
||||
|
||||
<project name="Midlets" default="obfuscate" basedir="../..">
|
||||
|
||||
<target name="obfuscate">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="lib/proguard.jar" />
|
||||
|
||||
<proguard verbose="true"
|
||||
microedition="on"
|
||||
printseeds="on"
|
||||
printmapping="out.map"
|
||||
overloadaggressively="on"
|
||||
repackageclasses=""
|
||||
allowaccessmodification="on"
|
||||
renamesourcefileattribute="SourceFile">
|
||||
|
||||
<!-- On Windows, you can't use mixed case class names,
|
||||
should you still want to use the preverify tool.
|
||||
usemixedcaseclassnames="false">
|
||||
-->
|
||||
|
||||
<!-- Specify the input jars, output jars, and library jars. -->
|
||||
|
||||
<injar file="in.jar" />
|
||||
<outjar file="out.jar" />
|
||||
|
||||
<libraryjar file="/usr/local/java/wtk2.5.2/lib/midpapi20.jar" />
|
||||
<libraryjar file="/usr/local/java/wtk2.5.2/lib/cldcapi11.jar" />
|
||||
|
||||
<!-- Optionally preserve line numbers in the obfuscated stack traces.
|
||||
<keepattribute name="LineNumberTable">
|
||||
<keepattribute name="SourceFile">
|
||||
-->
|
||||
|
||||
<!-- Preserve all public midlets. -->
|
||||
|
||||
<keep access="public" extends="javax.microedition.midlet.MIDlet" />
|
||||
|
||||
<!-- Preserve all native method names and the names of their classes. -->
|
||||
|
||||
<keepclasseswithmembernames includedescriptorclasses="true">
|
||||
<method access="native" />
|
||||
</keepclasseswithmembernames>
|
||||
|
||||
<!-- Your application may contain more items that need to be preserved;
|
||||
typically classes that are dynamically created using Class.forName -->
|
||||
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,109 @@
|
||||
<!-- This Ant build file illustrates how to process ProGuard (including its
|
||||
main application, its GUI, its Ant task, and its WTK plugin), and the
|
||||
ReTrace tool, all in one go.
|
||||
Usage: ant -f proguard.xml -->
|
||||
|
||||
<project name="ProGuard" default="obfuscate" basedir="../..">
|
||||
|
||||
<target name="obfuscate">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="lib/proguard.jar" />
|
||||
|
||||
<proguard verbose="true"
|
||||
printmapping="proguard.map"
|
||||
overloadaggressively="on"
|
||||
repackageclasses=""
|
||||
renamesourcefileattribute="SourceFile">
|
||||
|
||||
<!-- Specify the input jars, output jars, and library jars. -->
|
||||
|
||||
<injar file="lib/proguard.jar" />
|
||||
<outjar file="examples/ant/proguard_out.jar" />
|
||||
|
||||
<!-- Before Java 9, the runtime classes were packaged in a single jar file. -->
|
||||
<!-- libraryjar file="${java.home}/lib/rt.jar" -->
|
||||
|
||||
<!-- As of Java 9, the runtime classes are packaged in modular jmod files. -->
|
||||
<libraryjar file="${java.home}/jmods/java.base.jmod" jarfilter="!**.jar" filter="!module-info.class" />
|
||||
<libraryjar file="${java.home}/jmods/java.sql.jmod" jarfilter="!**.jar" filter="!module-info.class" />
|
||||
|
||||
<libraryjar file="${user.home}/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.31/11289d20fd95ae219333f3456072be9f081c30cc/kotlin-stdlib-1.3.31.jar" />
|
||||
<libraryjar file="${user.home}/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.31/20c34a04ea25cb1ef0139598bd67c764562cb170/kotlin-stdlib-common-1.3.31.jar" />
|
||||
<libraryjar file="${user.home}/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-metadata-jvm/0.1.0/505481587ce23e1d8207734e496632df5c4e6f58/kotlinx-metadata-jvm-0.1.0.jar" />
|
||||
<libraryjar file="${user.home}/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.5/f645ed69d595b24d4cf8b3fbb64cc505bede8829/gson-2.8.5.jar" />
|
||||
|
||||
<!-- Don't print notes about reflection in GSON code, the Kotlin runtime, and our own optionally injected code. -->
|
||||
|
||||
<dontnote filter="kotlin.**" />
|
||||
<dontnote filter="kotlinx.**" />
|
||||
<dontnote filter="com.google.gson.**" />
|
||||
<dontnote filter="proguard.configuration.ConfigurationLogger" />
|
||||
|
||||
<!-- Preserve injected GSON utility classes and their members. -->
|
||||
|
||||
<keep name="proguard.optimize.gson._*" allowobfuscation="true" />
|
||||
<keepclassmembers name="proguard.optimize.gson._*">
|
||||
<field name="*" />
|
||||
<method name="*" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Obfuscate class strings of injected GSON utility classes. -->
|
||||
|
||||
<adaptclassstrings name="proguard.optimize.gson.**" />
|
||||
|
||||
<!-- Adapt the resource file names, based on the corresponding obfuscated
|
||||
class names. -->
|
||||
|
||||
<adaptresourcefilenames filter="**.properties,**.gif,**.jpg" />
|
||||
<adaptresourcefilecontents filter="proguard/ant/task.properties" />
|
||||
|
||||
<!-- Optionally preserve line numbers in the obfuscated stack traces.
|
||||
<keepattribute name="LineNumberTable">
|
||||
<keepattribute name="SourceFile">
|
||||
-->
|
||||
|
||||
<!-- The main seeds: ProGuard and its companion tool ReTrace. -->
|
||||
|
||||
<keep access="public" name="proguard.ProGuard">
|
||||
<method access ="public static"
|
||||
type ="void"
|
||||
name ="main"
|
||||
parameters="java.lang.String[]" />
|
||||
</keep>
|
||||
<keep access="public" name="proguard.gui.ProGuardGUI">
|
||||
<method access ="public static"
|
||||
type ="void"
|
||||
name ="main"
|
||||
parameters="java.lang.String[]" />
|
||||
</keep>
|
||||
<keep access="public" name="proguard.retrace.ReTrace">
|
||||
<method access ="public static"
|
||||
type ="void"
|
||||
name ="main"
|
||||
parameters="java.lang.String[]" />
|
||||
</keep>
|
||||
|
||||
<!-- If we have ant.jar, we can properly process the Ant task. -->
|
||||
|
||||
<keeppackagename name="proguard.ant" />
|
||||
<keep name="proguard.ant.*" allowobfuscation="true" />
|
||||
<keepclassmembers access="public" name="proguard.ant.*">
|
||||
<constructor parameters="org.apache.tools.ant.Project" />
|
||||
<method access="public" type="void" name="set*" parameters="***" />
|
||||
<method access="public" type="void" name="add*" parameters="***" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- If we have the Gradle jars, we can properly process the Gradle task. -->
|
||||
|
||||
<keep access="public" name="proguard.gradle.*">
|
||||
<method access="public" />
|
||||
</keep>
|
||||
|
||||
<!-- If we have kenv.zip, we can process the J2ME WTK plugin. -->
|
||||
|
||||
<keep access="public" name="proguard.wtk.ProGuardObfuscator" />
|
||||
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,89 @@
|
||||
<!-- This Ant build file illustrates how to process servlets.
|
||||
Usage: ant -f servlets.xml -->
|
||||
|
||||
<project name="Servlets" default="obfuscate" basedir="../..">
|
||||
|
||||
<target name="obfuscate">
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="lib/proguard.jar" />
|
||||
|
||||
<proguard verbose="true"
|
||||
printseeds="on"
|
||||
printmapping="proguard.map"
|
||||
renamesourcefileattribute="SourceFile">
|
||||
|
||||
<!-- Specify the input jars, output jars, and library jars. -->
|
||||
|
||||
<injar file="in.jar" />
|
||||
<outjar file="out.jar" />
|
||||
|
||||
<libraryjar file="${java.home}/lib/rt.jar" />
|
||||
|
||||
<!-- Optionally preserve line numbers in the obfuscated stack traces.
|
||||
<keepattribute name="LineNumberTable">
|
||||
<keepattribute name="SourceFile">
|
||||
-->
|
||||
|
||||
<!-- Preserve all annotations. -->
|
||||
|
||||
<keepattribute name="*Annotation*" />
|
||||
|
||||
<!-- Keep all public servlets. -->
|
||||
|
||||
<keep access="public" implements="javax.servlet.Servlet" />
|
||||
|
||||
<!-- Preserve all native method names and the names of their classes. -->
|
||||
|
||||
<keepclasseswithmembernames includedescriptorclasses="true">
|
||||
<method access="native" />
|
||||
</keepclasseswithmembernames>
|
||||
|
||||
<!-- Preserve the methods that are required in all enumeration classes. -->
|
||||
|
||||
<keepclassmembers allowoptimization="true" type="enum">
|
||||
<method access="public static"
|
||||
type="**[]"
|
||||
name="values"
|
||||
parameters="" />
|
||||
<method access="public static"
|
||||
type="**"
|
||||
name="valueOf"
|
||||
parameters="java.lang.String" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Explicitly preserve all serialization members. The Serializable
|
||||
interface is only a marker interface, so it wouldn't save them.
|
||||
You can comment this out if your library doesn't use serialization.
|
||||
If your code contains serializable classes that have to be backward
|
||||
compatible, please refer to the manual. -->
|
||||
|
||||
<keepclassmembers implements="java.io.Serializable">
|
||||
<field access ="static final"
|
||||
type ="long"
|
||||
name ="serialVersionUID" />
|
||||
<field access ="static final"
|
||||
type ="java.io.ObjectStreamField[]"
|
||||
name ="serialPersistentFields" />
|
||||
<method access ="private"
|
||||
type ="void"
|
||||
name ="writeObject"
|
||||
parameters="java.io.ObjectOutputStream" />
|
||||
<method access ="private"
|
||||
type ="void"
|
||||
name ="readObject"
|
||||
parameters="java.io.ObjectInputStream" />
|
||||
<method type ="java.lang.Object"
|
||||
name ="writeReplace"
|
||||
parameters="" />
|
||||
<method type ="java.lang.Object"
|
||||
name ="readResolve"
|
||||
parameters="" />
|
||||
</keepclassmembers>
|
||||
|
||||
<!-- Your application may contain more items that need to be preserved;
|
||||
typically classes that are dynamically created using Class.forName -->
|
||||
|
||||
</proguard>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
Reference in New Issue
Block a user