Skip to content

Instantly share code, notes, and snippets.

@denzuko
Forked from lucacesari/obfuscate.gradle
Created March 14, 2018 02:34
Show Gist options
  • Select an option

  • Save denzuko/feec5da65847d0b8c876aeaa4af9c85e to your computer and use it in GitHub Desktop.

Select an option

Save denzuko/feec5da65847d0b8c876aeaa4af9c85e to your computer and use it in GitHub Desktop.
Obfuscate a jar with Gradle
ext {
mainClassName = "foo.bar.buz.mainClass"
basename = "fooBar"
version = "42.0"
}
task obfuscate(type: proguard.gradle.ProGuardTask) {
injars "./build/libs/${basename}-${version}.jar"
outjars "./build/libs/${basename}-${version}-obf.jar"
libraryjars "${System.getProperty('java.home')}/lib/rt.jar"
dontwarn
overloadaggressively
repackageclasses 'foo'
printmapping "./build/libs/${basename}.map"
keep 'class !foo.bar.buz**,!foo.bar.baz.** { *; }'
keepclasseswithmembers "public class ${mainClassName} { \
public static void main(java.lang.String[]); \
}"
keepclassmembers allowshrinking:true, 'enum * { \
public static **[] values(); \
static boolean contains(java.lang.String); \
}'
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment