2016-06-17 2 views
0

jar 파일이 있는데 ProGuard로 난독 화하고 싶습니다. 모든 라이브러리를 jar 파일로 만들고 난독 화에서 라이브러리를 제외하고 싶습니다. 난독 화하려고하면 다음 오류가 발생합니다.ProGuard 보관 클래스가 작동하지 않습니다.

Unexpected error while performing partial evaluation: 
    Class  = [com/google/common/cache/LongAddables] 
    Method  = [<clinit>()V] 
    Exception = [java.lang.IllegalArgumentException] (Can't find common super class of [com/google/common/cache/LongAddables$2] (with 1 known super classes) and [com/google/common/cache/LongAddables$1] (with 1 known super classes)) 
Error: Can't find common super class of [com/google/common/cache/LongAddables$2] (with 1 known super classes) and [com/google/common/cache/LongAddables$1] (with 1 known super classes) 

내 구성은 다음과 같습니다.

-injars  E:\project\celrond\out\artifacts\celrond-build.jar 
-outjars  E:\project\celrond\out\artifacts\celrond-build_obf.jar 

-keep class com.google.** { *; } 
-keep class org.h2.** { *; } 
-keep class org.apache.** { *; } 
-keep class com.sun.** { *; } 
-keep class com.j256.** { *; } 
-keep class org.eclipse.** { *; } 
-keep class com.ibm.** { *; } 
-keep public class celrond.MyMain { 
    public static void main(java.lang.String[]); 

내 실수를 찾을 수 없으므로 도움이 될 것입니다.

답변

0

guava 라이브러리가 libraryjar로없는 것 같습니다. 모든 종속 라이브러리를 celron-build.jar 파일에 패키지 했습니까? 그렇지 않다면 다음과 같이 지정해야합니다.

-libraryjars path/to/library.jar 
+0

모든 종속 라이브러리를 my jar 파일로 패키지했습니다. 어떤 문제없이 'java -jar celron-build.jar'명령으로 내 프로그램을 실행할 수 있습니다. – Dreamcatcher

+0

com.google.common.base.Supplier 클래스가 있는지 확인할 수 있습니까? 또한 ProGuard 출력에 문제의 원인을 나타내는 경고를 게시 할 수 있습니다. –

관련 문제