2015-03-02 81 views
-1

我在項目中添加了一些外部庫,它工作正常,但是當啓用proguard時,它每次都會拋出異常。我試圖從proguard中排除庫,但我的代碼不工作。啓用Proguard拋出異常

gradle這個:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile 'com.google.code.gson:gson:2.3' 
    compile 'com.android.support:support-v4:21.0.3' 
} 

proguard-rules.pro

-keep class android.support.v7.** { *; } 
-keep interface android.support.v7.** { *; } 
-keep enum android.support.v7.** { *; } 

-keep class android.support.v4.** { *; } 
-keep interface android.support.v4.** { *; } 
-keep enum android.support.v4.** { *; } 

-keep class com.google.** { *; } 
-keep interface com.google.** { *; } 
-keep enum com.google.** { *; } 

錯誤

java.lang.RuntimeException: Unable to start activity ComponentInfo{in.zeitech.appprotector/in.zeitech.appprotector.activities.LockAppActivity}: java.lang.NullPointerException 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
      at android.app.ActivityThread.access$600(ActivityThread.java:128) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
      at android.os.Handler.dispatchMessage(Handler.java:99) 
      at android.os.Looper.loop(Looper.java:137) 
      at android.app.ActivityThread.main(ActivityThread.java:4517) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:511) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.NullPointerException 
      at in.zeitech.appprotector.activities.LockAppActivity.onCreate(Unknown Source) 
      at android.app.Activity.performCreate(Activity.java:4470) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
            at android.app.ActivityThread.access$600(ActivityThread.java:128) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
            at android.os.Handler.dispatchMessage(Handler.java:99) 
            at android.os.Looper.loop(Looper.java:137) 
            at android.app.ActivityThread.main(ActivityThread.java:4517) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:511) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760) 
            at dalvik.system.NativeStart.main(Native Method) 
+1

你在代碼中的任何地方使用反射嗎?也許使用ObjectAnimator? – 2015-03-02 12:37:21

+0

此外,請發佈您收到的錯誤。 – 2015-03-02 12:38:09

+0

@GilMoshayof:我沒有使用反射 – 2015-03-02 12:40:18

回答

1

我使用GSON李b並在proguard及其作品中嘗試了這一行。

-keepattributes Signature