5

一切都好,直到我proguard它。这是我的 proguard-project.txt

-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-keep class com.liba.carpool.db.**
-keepclassmembers class com.liba.carpool.db.** { *; } 
-keepattributes Signature

这是日志猫:

10-29 16:11:24.616: E/AndroidRuntime(12870): java.lang.ExceptionInInitializerError 10-29 16:11:24.616: E/AndroidRuntime(12870): at com.j256.ormlite.db.SqliteAndroidDatabaseType.extractDatabaseTableConfig(未知来源)10-29 16:11:24.616:E/AndroidRuntime(12870):在 com.j256.ormlite.dao.DaoManager.createDao(未知来源)10-29 16:11:24.616:E/AndroidRuntime(12870) :在 com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper.getDao(未知来源)10-29 16:11:24.616:E/AndroidRuntime(12870):在 com.liba.carpool.db.MappingRouteRepository.(未知来源) 10-29 16:11:24.616: E/AndroidRuntime(12870): at com.liba.carpool.db.MyRouteRepository.(Unknown Source) 10-29 16:11:24.616: E/AndroidRuntime(12870): at com. liba.carpool.aaloadCarpools(未知来源)10-29 16:11:24.616:E/AndroidRuntime(12870):在 com。liba.carpool.DemoApplication.onCreate(Unknown Source) 10-29 16:11:24.616: E/AndroidRuntime(12870): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:981) 10-29 16:11:24.616 : E/AndroidRuntime(12870): 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4462) 10-29 16:11:24.616: E/AndroidRuntime(12870): 在 android.app.ActivityThread.access$1300(ActivityThread .java:139) 10-29 16:11:24.616: E/AndroidRuntime(12870): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 10-29 16:11:24.616: E/AndroidRuntime (12870): 在 android.os.Handler.dispatchMessage(Handler.java:99) 10-29 16:11:24.616: E/AndroidRuntime(12870): 在 android.os.Looper.loop(Looper.java:154) 10-29 16:11:24.616: E/AndroidRuntime(12870): 在 android.app.ActivityThread.main(ActivityThread.java:4945) 10-29 16:11:24.616: E/AndroidRuntime(12870): 在 java.lang.reflect.Method.invokeNative(Native Method) 10-29 16:11:24.616: E/AndroidRuntime(12870):在 java.lang.reflect.Method.invoke(Method.java:511) 10-29 16:11:24.616: E/AndroidRuntime(12870): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. java:784) 10-29 16:11:24.616: E/AndroidRuntime(12870): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 10-29 16:11:24.616: E/ AndroidRuntime(12870):在 dalvik.system.NativeStart.main(Native Method) 10-29 16:11:24.616:E/AndroidRuntime(12870):引起:java.lang.NullPointerException 10-29 16:11:24.616: E/AndroidRuntime(12870):在 java.lang.reflect.Proxy.getInvocationHandler(Proxy.java:263) 10-29 16:11:24.616:E/AndroidRuntime(12870):在 com.j256.ormlite.android。DatabaseTableConfigUtil.lookupClasses(未知来源)10-29 16:11:24.616:E/AndroidRuntime(12870):在 com.j256.ormlite.android.DatabaseTableConfigUtil.(未知来源)

每个人都遇到同样的问题吗,谢谢

4

2 回答 2

0

I met the same question like yours. My solution is adding -keepattributes *Annotation* , and it works. Hope can help you :)

于 2013-11-18T04:45:10.800 回答
0

我将这些行添加到我的 proguard 规则中:

-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-keepattributes Signature
-keepattributes *Annotation*
-keepclassmembers class * { public <init>(android.content.Context); }
于 2014-09-04T13:13:52.177 回答