Android proguard在实际设计步骤中启用Sherlock碎片

Android proguard在实际设计步骤中启用Sherlock碎片,android,actionbarsherlock,proguard,android-2.2-froyo,Android,Actionbarsherlock,Proguard,Android 2.2 Froyo,我真的需要帮助,我的android应用程序。使用sherlockActivity保存3个sherlockListFragments,my min sdk req。是2.2,当我在emulator上运行它时,它运行得非常完美,但在真实设备(在2.2上运行)上,它给出了一个强制关闭。 经过数小时的搜索,我编辑了我的proguard-project.txt和project.properties,并将我的android开发者工具包级别更新为20.1,下载了proguard 4.9,并将JAR放在我的sd

我真的需要帮助,我的android应用程序。使用sherlockActivity保存3个sherlockListFragments,my min sdk req。是2.2,当我在emulator上运行它时,它运行得非常完美,但在真实设备(在2.2上运行)上,它给出了一个强制关闭。 经过数小时的搜索,我编辑了我的proguard-project.txt和project.properties,并将我的android开发者工具包级别更新为20.1,下载了proguard 4.9,并将JAR放在我的sdk/tools/lib direc中。 然后我导出到.apk文件,但它给出了相同的结果:((( 这是proguard-project.txt

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontwarn android.support.**
-verbose

-dontoptimize
-dontpreverify


-keepattributes *Annotation* 
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.app.Fragment

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

-keep class com.actionbarsherlock.**{*;}
-keep interface com.actionbarsherlock.**{*;}

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembernames class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembernames class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

 -keepclassmembers public class * extends android.view.View {
  void set*(***);
  *** get*();
 }

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class **.R$* {
  public static <fields>;
}
-dontusemixedcaseclassnames
-DontskipnonPublicLibraryClass
-dontwarn android.support**
-冗长的
-dontoptimize
-不要翻转
-keepattributes*注释*
-keep public class*扩展android.app.Activity
-keep public class*扩展android.app.Application
-keep public class*扩展了android.app.Service
-keep public class*扩展了android.content.BroadcastReceiver
-keep public class*扩展了android.content.ContentProvider
-保持公共类com.google.vending.licensing.ILicensingService
-保持公共类com.android.vending.licensing.ILicensingService
-keep public class*扩展了android.support.v4.app.Fragment
-keep public class*扩展了android.app.Fragment
-keep class android.support.v4.app.*{*;}
-保留android.support.v4.app接口。**{*;}
-保持类com.actionbarsherlock.*{*;}
-保留接口com.actionbarsherlock.*{*;}
-KeepClassSwithMemberNames类*{
本地人;
}
-KeepClassSwithMemberNames类*{
public(android.content.Context、android.util.AttributeSet);
}
-KeepClassSwithMemberNames类*{
public(android.content.Context,android.util.AttributeSet,int);
}
-keepclassmembers公共类*扩展了android.view.view{
无效集*(***);
***得到*();
}
-keepclassmembers枚举*{
公共静态**[]值();
公共静态**valueOf(java.lang.String);
}
-keep class*实现android.os.Parcelable{
公开静态最终android.os.Parcelable$Creator*;
}
-keepclassmembers类**.R$*{
公共静态;
}
在我的project.properties文件中,我删除了proguard.config=${sdk.dir}/tools/proguard/proguard android.txt:proguard-project.txt的注释

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontwarn android.support.**
-verbose

-dontoptimize
-dontpreverify


-keepattributes *Annotation* 
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.app.Fragment

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

-keep class com.actionbarsherlock.**{*;}
-keep interface com.actionbarsherlock.**{*;}

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembernames class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembernames class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

 -keepclassmembers public class * extends android.view.View {
  void set*(***);
  *** get*();
 }

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class **.R$* {
  public static <fields>;
}
请给我详细的帮助,因为我是android新手
提前感谢。

如果您创建了一个没有proguard的APK,它运行正常吗?当它崩溃时,stacktrace是什么?没有proguard,同样的结果,它在emulator中运行正常,并在真实手机上给我强制关闭。@Blundell,您看到了这个评论吗?@Fareed您是否在emulator上尝试了导出的APK。使用
adb安装myApp.APK
或调试apk文件?无论哪种方式,请尝试获取Logcat并检查是什么导致强制关闭。如果在没有ProGuard的真实手机上强制关闭,则ProGuard不是您的问题!