mirror of
https://github.com/aNNiMON/Own-Programming-Language-Tutorial.git
synced 2024-09-20 00:34:20 +03:00
Обфускация при сборке
This commit is contained in:
parent
9fb34ae09b
commit
2d7feeb0cd
24
build.xml
24
build.xml
@ -13,13 +13,16 @@
|
||||
|
||||
<target name="package-for-store" depends="jar">
|
||||
<property name="store.jar.name" value="${application.title}"/>
|
||||
<property name="proguard.jar.path" value="store/proguard.jar" />
|
||||
|
||||
<property name="store.dir" value="store"/>
|
||||
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
|
||||
<property name="obfuscated.jar" value="${store.dir}/${store.jar.name}-obfuscated.jar"/>
|
||||
|
||||
<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
|
||||
|
||||
<delete dir="${store.dir}"/>
|
||||
<delete file="${store.jar}"/>
|
||||
<delete file="${obfuscated.jar}"/>
|
||||
<mkdir dir="${store.dir}"/>
|
||||
|
||||
<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
|
||||
@ -37,7 +40,26 @@
|
||||
</zip>
|
||||
|
||||
<delete file="${store.dir}/temp_final.jar"/>
|
||||
|
||||
|
||||
<echo message="Obfuscating ${store.jar}..." />
|
||||
|
||||
<taskdef resource="proguard/ant/task.properties"
|
||||
classpath="${proguard.jar.path}" />
|
||||
|
||||
<proguard configuration="proguard.properties">
|
||||
|
||||
<injar file="${store.jar}" />
|
||||
<outjar file="${store.dir}/temp_final.jar" />
|
||||
|
||||
<libraryjar path="${javac.classpath}" />
|
||||
<libraryjar file="${java.home}/lib/rt.jar" />
|
||||
|
||||
</proguard>
|
||||
|
||||
<move file="${store.dir}/temp_final.jar" tofile="${obfuscated.jar}"/>
|
||||
</target>
|
||||
|
||||
<!--
|
||||
|
||||
There exist several targets which are by default empty and which can be
|
||||
|
46
proguard.properties
Normal file
46
proguard.properties
Normal file
@ -0,0 +1,46 @@
|
||||
-target 1.8
|
||||
|
||||
-printmapping store/out.map
|
||||
-printusage store/out.txt
|
||||
-keepattributes Signature,InnerClasses
|
||||
-keepattributes *Annotation*
|
||||
|
||||
-dontwarn okio.**
|
||||
-dontwarn okhttp3.**
|
||||
|
||||
-keepclasseswithmembers public class * {
|
||||
public static void main(java.lang.String[]);
|
||||
}
|
||||
|
||||
-keep class okio.**
|
||||
-keep class okhttp3.** { *; }
|
||||
-keep interface okhttp3.** { *; }
|
||||
|
||||
-keepattributes Signature
|
||||
-keepattributes *Annotation*
|
||||
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
-keep class * extends javax.swing.plaf.ComponentUI {
|
||||
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);
|
||||
}
|
||||
|
||||
-keepclasseswithmembers,includedescriptorclasses,allowshrinking class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
-keep public class * implements com.annimon.ownlang.lib.modules.Module
|
||||
|
||||
# Soft obfuscation
|
||||
-keep public class * {
|
||||
public protected *;
|
||||
}
|
||||
|
||||
# Hard obfuscation
|
||||
#-optimizationpasses 9
|
||||
#-allowaccessmodification
|
||||
#-dontusemixedcaseclassnames
|
||||
#-repackageclasses ''
|
Loading…
Reference in New Issue
Block a user