2016-06-17 5 views
0

私はjarファイルを持っています。私はProGuardで難読化したいと思います。すべてのライブラリをjarファイルに変換し、ライブラリを難読化から除外したいと考えています。難読化しようとすると、次のエラーが発生します。ProGuard Keepクラスが機能しない

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の出力に書き込むことができます。 –

関連する問題