2016-09-30 5 views
0

ここでいくつかの解決策を試していますが、Proguardを使用してjarファイルを縮小しようとした後、NullPointerExceptionを取得する問題に直面しています。Proguardを使用したジャーナルライブラリの難読化

これは私が私のProGuardの設定ファイルに定義されていたものです:

-injars <my_raw_filejar>.jar 
-outjars <shrunk_filejar>.jar 
-libraryjars <JAVA_HOME>/lib/rt.jar 

-keep public class packagename.MainClass{ 
    public static void main(java.lang.String[]); 
} 
-keepnames class org.codehaus.jackson.** { *; } 
-keepattributes *Annotation* 
-keepattributes EnclosingMethod 
-keepattributes Signature 
-dontobfuscate 
-optimizations !code/allocation/variable 
-dontoptimize 
-dontwarn 
-ignorewarnings 

しかし、私は私の生成収縮したjarファイルを実行したら、私は、以下のエラーを取得しています:

Exception in thread "main" java.lang.ExceptionInInitializerError 
    at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:535) 
    at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:452) 
    at org.apache.beam.sdk.options.PipelineOptionsFactory.<clinit>(PipelineOptionsFactory.java:450) 
    at skry.tech.terbium.pipelines.TerbiumFeedBigTablePipeline.main(TerbiumFeedBigTablePipeline.java:30) 
Caused by: java.lang.NullPointerException 
    at com.fasterxml.jackson.databind.cfg.MapperConfig.collectFeatureDefaults(MapperConfig.java:99) 
    at com.fasterxml.jackson.databind.cfg.MapperConfigBase.<clinit>(MapperConfigBase.java:31) 
    ... 4 more 

は、任意のはあります何が起こっているのか、そしてこのエラーを解決する方法の手掛かり?

答えて

0

私はここでも同じ問題がありました。

この問題は、Enumがnullに基づいているように思われたためです。 proguard.confに次のコードを追加しました

-keepclassmembers enum * { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
} 
関連する問題