11

AndroidアプリをProGuardで難読化しましたが、難読化された.apkを実行しようとすると、次のようにスローされます。

java.lang.nosuchfielderror:トースト

これは私の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();
    }
4

1 に答える 1

4

エラー報告にACRAを使用しているようです。私は同じ問題に遭遇しました、ここで答えを見つけました:http ://code.google.com/p/acra/issues/detail?id=22

解決策は追加することです

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

プロガード設定ファイルに

于 2012-11-16T14:14:02.673 に答える