安卓ProGuard“;java.lang.nosuchfielderror:Toast";例外

安卓ProGuard“;java.lang.nosuchfielderror:Toast";例外,java,android,proguard,Java,Android,Proguard,我用ProGuard模糊了我的Android应用程序,当尝试运行我的模糊.apk时,它抛出: java.lang.nosuchfielderror:Toast 这是我的proguard.cfg文件: <!-- language: lang-none --> -injars bin/classes //injars -injars libs //injars -outjars bin/classes-processed.jar

我用ProGuard模糊了我的Android应用程序,当尝试运行我的模糊.apk时,它抛出:

java.lang.nosuchfielderror:Toast

这是我的proguard.cfg文件:

<!-- language: lang-none -->

    -injars      bin/classes //injars
    -injars      libs   //injars
    -outjars     bin/classes-processed.jar
    -optimizationpasses 1
    -dontusemixedcaseclassnames
    -dontskipnonpubliclibraryclasses
    -dontpreverify
    -verbose
    -allowaccessmodification
    -keepattributes *Annotation*
    -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
    -printmapping D:/out.map
    -renamesourcefileattribute ProGuard
    -keepattributes Exceptions,InnerClasses,Signature,Deprecated,
        SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
    -libraryjars C:/Program Files/Android/android-sdk/platforms/android
        12/android.jar    
    -dontwarn android.support.**
    -dontwarn com.android.**
    -dontwarn com.google.**
    -dontwarn org.apache.** 
    -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 * extends android.app.backup.BackupAgentHelper
    -keep public class * extends android.preference.Preference
    -keep public class com.android.vending.licensing.ILicensingService
    -keepclasseswithmembernames class * {
        native <methods>;
    }

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

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

    -keepclassmembers class *.R$ {
        public static <fields>;
    }

    -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 * extends android.app.Activity {
        public void *On*Click(android.view.View);
       public void *on*Click(android.view.View);
    }

    -keepclassmembers class * implements java.io.Serializable {
        static final long serialVersionUID;
        private static final java.io.ObjectStreamField[] serialPersistentFields;
        private void writeObject(java.io.ObjectOutputStream);
        private void readObject(java.io.ObjectInputStream);
        java.lang.Object writeReplace();
        java.lang.Object readResolve();
    }

-injars bin/类//injars
-injars libs//injars
-outjars bin/classes-processed.jar
-优化过程1
-dontusemixedcaseclassnames
-DontskipnonPublicLibraryClass
-不要翻转
-冗长的
-允许访问修改
-keepattributes*注释*
-优化!代码/简化/算术,!字段/*,!类/合并/*
-printmapping D:/out.map
-重命名资源属性ProGuard
-keepattributes异常、内部类、签名、已弃用、,
SourceFile,LineNumberTable,*注释*,封闭方法
-libraryjars C:/Program Files/Android/Android sdk/Platform/Android
12/android.jar
-dontwarn android.support**
-dontwarn com.android**
-dontwarn com.google**
-dontwarn org.apache.**
-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
-keep public class*扩展了android.app.backup.BackupAgentHelper
-keep public class*扩展了android.preference.preference
-保持公共类com.android.vending.licensing.ILicensingService
-KeepClassSwithMemberNames类*{
本地人;
}
-keepclassswithmembers类*{
public(android.content.Context、android.util.AttributeSet);
}
-keepclassswithmembers类*{
public(android.content.Context,android.util.AttributeSet,int);
}
-keepclassmembers类*.R${
公共静态;
}
-keepclassmembers枚举*{
公共静态**[]值();
公共静态**valueOf(java.lang.String);
}
-keep class*实现android.os.Parcelable{
公开静态最终android.os.Parcelable$Creator*;
}   
-keepclassmembers类*扩展了android.app.Activity{
点击(android.view.view)按钮,公共作废;
点击(android.view.view)按钮,公共作废;
}
-keepclassmembers类*实现java.io.Serializable{
静态最终长SerialVersionId;
私有静态final java.io.ObjectStreamField[]serialPersistentFields;
私有void writeObject(java.io.ObjectOutputStream);
私有void readObject(java.io.ObjectInputStream);
java.lang.Object WriterReplace();
java.lang.Object readResolve();
}

您似乎正在使用ACRA进行错误报告。我遇到了同样的问题,在这里找到了答案:

解决办法是增加

-keep class org.acra.ReportingInteractionMode{*;}


在您的proguard配置文件中

您忘记了您的proguard.cfg文件,请在其他人对该问题进行否决表决之前添加该文件。在Acra网站上,您可以找到完整的解释:我尝试了答案的解决方案,但不起作用,因此我按照Yoann Hercouet中提供的说明进行了操作,并且成功了。