Java IllegalArgumentException使用actionbarsherlock和proguard

Java IllegalArgumentException使用actionbarsherlock和proguard,java,actionbarsherlock,proguard,Java,Actionbarsherlock,Proguard,我的项目在没有Proguard的情况下运行良好,即在我运行项目并将其安装到三星Galaxy设备上时安装Eclipse生成的apk,一切正常。但是,当我尝试使用Proguard导出已签名的apk时,可以很好地导出它,但当我尝试运行该应用程序时,它不起作用。我在模拟器上安装了apk以查看Logcat的异常,它返回的结果如下: 11-28 02:28:33.709: E/AndroidRuntime(853): FATAL EXCEPTION: main 11-28 02:28:33.709: E/A

我的项目在没有Proguard的情况下运行良好,即在我运行项目并将其安装到三星Galaxy设备上时安装Eclipse生成的apk,一切正常。但是,当我尝试使用Proguard导出已签名的apk时,可以很好地导出它,但当我尝试运行该应用程序时,它不起作用。我在模拟器上安装了apk以查看Logcat的异常,它返回的结果如下:

11-28 02:28:33.709: E/AndroidRuntime(853): FATAL EXCEPTION: main
11-28 02:28:33.709: E/AndroidRuntime(853): java.lang.ExceptionInInitializerError
11-28 02:28:33.709: E/AndroidRuntime(853):  at    com.actionbarsherlock.app.SherlockActivity.c(Unknown Source)
11-28 02:28:33.709: E/AndroidRuntime(853):  at com.actionbarsherlock.app.SherlockActivity.setContentView(Unknown Source)
11-28 02:28:33.709: E/AndroidRuntime(853):  at com.linxter.allaware.views.AllAwareActivity.a(Unknown Source)
11-28 02:28:33.709: E/AndroidRuntime(853):  at   com.linxter.allaware.views.StartupActivity.onCreate(Unknown Source)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.app.Activity.performCreate(Activity.java:4465)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.os.Looper.loop(Looper.java:137)
11-28 02:28:33.709: E/AndroidRuntime(853):  at android.app.ActivityThread.main(ActivityThread.java:4424)
11-28 02:28:33.709: E/AndroidRuntime(853):  at java.lang.reflect.Method.invokeNative(Native Method)
11-28 02:28:33.709: E/AndroidRuntime(853):  at java.lang.reflect.Method.invoke(Method.java:511)
11-28 02:28:33.709: E/AndroidRuntime(853):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-28 02:28:33.709: E/AndroidRuntime(853):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-28 02:28:33.709: E/AndroidRuntime(853):  at dalvik.system.NativeStart.main(Native Method)
11-28 02:28:33.709: E/AndroidRuntime(853): Caused by: java.lang.IllegalArgumentException: Class a is not annotated with @Implementation
11-28 02:28:33.709: E/AndroidRuntime(853):  at com.actionbarsherlock.a.a(Unknown Source)
11-28 02:28:33.709: E/AndroidRuntime(853):  at com.actionbarsherlock.a.<clinit>(Unknown Source)
11-28 02:28:33.709: E/AndroidRuntime(853):  ... 18 more
11-2802:28:33.709:E/AndroidRuntime(853):致命异常:main
11-28 02:28:33.709:E/AndroidRuntime(853):java.lang.ExceptionInInitializeError
11-28 02:28:33.709:E/AndroidRuntime(853):在com.actionbarsherlock.app.SherlockActivity.c(未知来源)
11-28 02:28:33.709:E/AndroidRuntime(853):位于com.actionbarsherlock.app.SherlockActivity.setContentView(未知来源)
11-28 02:28:33.709:E/AndroidRuntime(853):位于com.linxter.allaware.views.AllAwareActivity.a(未知来源)
11-28 02:28:33.709:E/AndroidRuntime(853):位于com.linxter.allaware.views.StartupActivity.onCreate(未知来源)
11-28 02:28:33.709:E/AndroidRuntime(853):在android.app.Activity.performCreate(Activity.java:4465)上
11-28 02:28:33.709:E/AndroidRuntime(853):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)上
11-28 02:28:33.709:E/AndroidRuntime(853):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)上
11-28 02:28:33.709:E/AndroidRuntime(853):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
11-28 02:28:33.709:E/AndroidRuntime(853):在android.app.ActivityThread.access$600(ActivityThread.java:123)
11-28 02:28:33.709:E/AndroidRuntime(853):位于android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
11-28 02:28:33.709:E/AndroidRuntime(853):位于android.os.Handler.dispatchMessage(Handler.java:99)
11-28 02:28:33.709:E/AndroidRuntime(853):在android.os.Looper.loop(Looper.java:137)
11-28 02:28:33.709:E/AndroidRuntime(853):位于android.app.ActivityThread.main(ActivityThread.java:4424)
11-28 02:28:33.709:E/AndroidRuntime(853):位于java.lang.reflect.Method.Invokenactive(本机方法)
11-28 02:28:33.709:E/AndroidRuntime(853):在java.lang.reflect.Method.invoke(Method.java:511)
11-28 02:28:33.709:E/AndroidRuntime(853):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-28 02:28:33.709:E/AndroidRuntime(853):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-28 02:28:33.709:E/AndroidRuntime(853):在dalvik.system.NativeStart.main(本机方法)
11-28 02:28:33.709:E/AndroidRuntime(853):由以下原因引起:java.lang.IllegalArgumentException:Class a未使用@Implementation注释
11-28 02:28:33.709:E/AndroidRuntime(853):在com.actionbarsherlock.a.a(未知来源)
11-28 02:28:33.709:E/AndroidRuntime(853):在com.actionbarsherlock.a.(未知来源)
11-28 02:28:33.709:E/AndroidRuntime(853):。。。还有18个
我使用了最新版本的Proguard 4.8和最新版本的ActionBarSherlock 4.2.0。这是我的Proguard配置文件的一部分:

-ignorewarnings
-target 1.6
-optimizationpasses 5
-printmapping mapping.txt
# -overloadaggressively
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt

# The -optimizations option disables some arithmetic simplifications that Dalvik 1.0 and 1.5 can't handle.
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

# Recommended configuration for ActionBarSherlock on http://actionbarsherlock.com/faq.html
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
-keepattributes *Annotation*

# Keep classes which are entry points.
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.Application


-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
    public void set*(...);
}

# Also keep - Enumerations. Keep the special static methods that are required in
# enumeration classes.
-keepclassmembers enum  * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# Keep names - Native method names. Keep all native class/method names.
-keepclasseswithmembers,allowshrinking class * {
    native <methods>;
}
-忽略警告
-具体目标1.6
-优化过程5
-printmapping.txt
#-超载
-DontskipnonPublicLibraryClass
-不要翻转
-冗长的
-dump class_files.txt
-printseeds.txt
-printusage unused.txt
#-optimizations选项禁用Dalvik 1.0和1.5无法处理的一些算术简化。
-优化!代码/简化/算术,!字段/*,!类/合并/*
#上ActionBarSherlock的建议配置http://actionbarsherlock.com/faq.html
-keep class android.support.v4.app.*{*;}
-保留android.support.v4.app接口。**{*;}
-保持类com.actionbarsherlock.*{*;}
-保留接口com.actionbarsherlock.*{*;}
-keepattributes*注释*
#保留作为入口点的类。
-keep public class*扩展android.app.Activity
-keep public class*扩展了android.app.Service
-keep public class*扩展了android.content.BroadcastReceiver
-keep public class*扩展了android.content.ContentProvider
-keep public class*扩展android.app.Application
-keep public class*扩展了android.view.view{
public(android.content.Context);
public(android.content.Context、android.util.AttributeSet);
public(android.content.Context,android.util.AttributeSet,int);
公共无效集*(…);
}
#还保留-枚举。保留中所需的特殊静态方法
#枚举类。
-keepclassmembers枚举*{
公共静态**[]值();
公共静态**valueOf(java.lang.String);
}
#保留名称-本机方法名称。保留所有本机类/方法名称。
-保留类成员,允许收缩类*{
本地人;
}
怎么了?谢谢你的帮助。多谢各位