** build.gradle 파일 수정
buildscript {
repositories {
jcenter()
flatDir dirs: 'E:/prog/proguard6.0.2/lib'
}
dependencies {
classpath ':proguard:'
}
}
(...)
task proguard(type: proguard.gradle.ProGuardTask, dependsOn: 'jar') {
configuration 'proguard.txt'
injars 'build/libs/java1.jar'
outjars 'build/libs/lhbidc.jar'
libraryjars 'dist/lib'
libraryjars 'C:/Java/jdk1.7.0_80/jre/lib/rt.jar'
}
** 플젝톨더에 proguard.txt 파일을 아래 내용으로 생성
-keep public class java75.LhBidMain1 {
public static void main(java.lang.String[]);
}
> gradlew.bat proguard 하면 lhbidc.jar 파일 생성된다.
** 해설
injars 'build/libs/java1.jar' <-- 오리지널 jar
outjars 'build/libs/lhbidc.jar' <-- 암호화된 jar
libraryjars 'dist/lib' <-- 나머지 필요한 jar 파일들 있는 폴더
libraryjars 'C:/Java/jdk1.7.0_80/jre/lib/rt.jar' <-- 이것도 필요하네...
main 클래스 함수는 암호화 되면 안되므로 keep
-keep public class java75.LhBidMain1 {
public static void main(java.lang.String[]);
}
lhbidc.jar 파일 내의 클래스 파일을 디컴파일해보면 각 변수명들이 바뀌어 있다.