2013-05-04 7 views
8

उत्पन्न करते समय प्रोगार्ड त्रुटि मैं अपने आवेदन के लिए सुरक्षित हस्ताक्षरित एपीके उत्पन्न करने के लिए पिछले 2 दिनों से कोशिश कर रहा हूं लेकिन अभी भी इसमें कोई सफलता नहीं मिली है।सुरक्षित हस्ताक्षर एपीके

मैंने स्टैक ओवरफ्लो के इतने सारे उत्तरों की जांच की है और हर समाधान की कोशिश की लेकिन मेरे लिए कुछ भी काम नहीं किया। तो यहां मैं हूं यदि कोई मेरी मदद कर सकता है तो यह वास्तव में आभारी होगा और वास्तव में सहायता की सराहना करेगा।

नीचे त्रुटि है जो मैं सुरक्षित हस्ताक्षर एपीके उत्पन्न करते समय प्राप्त कर रहा हूं।

संपादित:

मैं अपने ProGuard फ़ाइल में कुछ बदलाव किया है और अब मैं त्रुटि नीचे हो रही है

Proguard returned with error code 1. See console 
Note: there were 209 duplicate class definitions. 
You should check if you need to specify additional program jars. 
Unexpected error while evaluating instruction: 
Class  = [android/support/v4/view/AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl] 
Method  = [newAccessiblityDelegateBridge(Landroid/support/v4/view/AccessibilityDelegateCompat;)Ljava/lang/Object;] 
Instruction = [18] areturn 
Exception = [java.lang.IllegalArgumentException] (Can't find any super classes of [android/support/v4/view/AccessibilityDelegateCompatIcs$1] (not even immediate super class [android/view/View$AccessibilityDelegate])) 
Unexpected error while performing partial evaluation: 
Class  = [android/support/v4/view/AccessibilityDelegateCompat$AccessibilityDelegateJellyBeanImpl] 
Method  = [newAccessiblityDelegateBridge(Landroid/support/v4/view/AccessibilityDelegateCompat;)Ljava/lang/Object;] 
Exception = [java.lang.IllegalArgumentException] (Can't find any super classes of [android/support/v4/view/AccessibilityDelegateCompatIcs$1] (not even immediate super class [android/view/View$AccessibilityDelegate])) 
java.lang.IllegalArgumentException: Can't find any super classes of [android/support/v4/view/AccessibilityDelegateCompatIcs$1] (not even immediate super class [android/view/View$AccessibilityDelegate]) 
at proguard.evaluation.value.ReferenceValue.generalize(ReferenceValue.java:287) 
at proguard.evaluation.value.ReferenceValue.generalize(ReferenceValue.java:481) 
at proguard.optimize.info.MethodOptimizationInfo.generalizeReturnValue(MethodOptimizationInfo.java:247) 
at proguard.optimize.evaluation.StoringInvocationUnit.generalizeMethodReturnValue(StoringInvocationUnit.java:195) 
at proguard.optimize.evaluation.StoringInvocationUnit.setMethodReturnValue(StoringInvocationUnit.java:126) 
at proguard.evaluation.BasicInvocationUnit.exitMethod(BasicInvocationUnit.java:134) 
at proguard.evaluation.Processor.visitSimpleInstruction(Processor.java:514) 
at proguard.classfile.instruction.SimpleInstruction.accept(SimpleInstruction.java:218) 
at proguard.optimize.evaluation.PartialEvaluator.evaluateSingleInstructionBlock(PartialEvaluator.java:753) 
at proguard.optimize.evaluation.PartialEvaluator.evaluateInstructionBlock(PartialEvaluator.java:587) 
at proguard.optimize.evaluation.PartialEvaluator.evaluateInstructionBlockAndExceptionHandlers(PartialEvaluator.java:560) 
at proguard.optimize.evaluation.PartialEvaluator.visitCodeAttribute0(PartialEvaluator.java:264) 
at proguard.optimize.evaluation.PartialEvaluator.visitCodeAttribute(PartialEvaluator.java:181) 
at proguard.classfile.attribute.CodeAttribute.accept(CodeAttribute.java:101) 
at proguard.classfile.ProgramMethod.attributesAccept(ProgramMethod.java:79) 
at proguard.classfile.attribute.visitor.AllAttributeVisitor.visitProgramMember(AllAttributeVisitor.java:95) 
at proguard.classfile.util.SimplifiedVisitor.visitProgramMethod(SimplifiedVisitor.java:91) 
at proguard.classfile.ProgramMethod.accept(ProgramMethod.java:71) 
at proguard.classfile.ProgramClass.methodsAccept(ProgramClass.java:504) 
at proguard.classfile.visitor.AllMethodVisitor.visitProgramClass(AllMethodVisitor.java:47) 
at proguard.classfile.ProgramClass.accept(ProgramClass.java:346) 
at proguard.classfile.ClassPool.classesAccept(ClassPool.java:116) 
at proguard.optimize.Optimizer.execute(Optimizer.java:372) 
at proguard.ProGuard.optimize(ProGuard.java:306) 
at proguard.ProGuard.execute(ProGuard.java:115) 
at proguard.ProGuard.main(ProGuard.java:492) 

यहाँ मेरी अद्यतन किया जाता है Proguard.cfg फ़ाइल

-optimizationpasses 9 
    -verbose 
    -dump class_files.txt 
    -printseeds seeds.txt 
    -printusage unused.txt 
    -printmapping mapping.txt 
    -allowaccessmodification 
    -keepattributes *Annotation* 
    -renamesourcefileattribute SourceFile 
    -keepattributes SourceFile,LineNumberTable 
    -repackageclasses '' 
    -dontusemixedcaseclassnames 
    -dontskipnonpubliclibraryclasses 
    -dontskipnonpubliclibraryclassmembers 
    -dontpreverify 
    -dontwarn 
    -ignorewarnings 

    -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 
    -dontnote com.android.vending.licensing.ILicensingService 

    # Explicitly preserve all serialization members. The Serializable interface 
    # is only a marker interface, so it wouldn't save them. 
    -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(); 
    } 

    # Preserve all native method names and the names of their classes. 
    -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); 
    } 

    # Preserve static fields of inner classes of R classes that might be accessed 
    # through introspection. 
    -keepclassmembers class **.R$* { 
    public static <fields>; 
    } 

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

    -keep public class * { 
     public protected *; 
    } 

    -keep class * implements android.os.Parcelable { 
    public static final android.os.Parcelable$Creator *; 
    } 
    ##---------------End: proguard configuration common for all Android apps ---------- 
    ##---------------Begin: proguard configuration for Gson ---------- 
    # Gson uses generic type information stored in a class file when working with fields. Proguard 
    # removes such information by default, so configure it to keep all of it. 
    -keepattributes Signature 

    # For using GSON @Expose annotation 
    # Gson specific classes 
    -keep class sun.misc.Unsafe { *; } 
    -keep class com.google.gson.stream.** { *; } 
    -keep class com.google.gson.FieldNamingStrategy { *; } 
    ##---------------End: proguard configuration for Gson ---------- 
    -keep class twitter4j.** { *; } 
    -keep class com.wli.ecard.TwitterShareActivity { *; } 
    -keep class com.wli.ecard.Vo.** { *; } 
    -keep class com.wli.ecard.EcardAcra.** { *; } 

कृपया मेरी मदद करें किसी भी मदद की सराहना की जाएगी।

धन्यवाद।

+0

http://proguard.sourceforge.net/index.html#manual/examples.html। लिंक – Raghunandan

+0

देखें कृपया मेरा अपडेट किया गया प्रश्न देखें। – GrIsHu

+0

मैंने अपनी समस्या का समाधान किया है कृपया नीचे पोस्ट किया गया मेरा उत्तर देखें। मदद करने के लिए सभी को धन्यवाद। – GrIsHu

उत्तर

12

मैंने अपनी proguard.cfg फ़ाइल में नीचे दी गई दो पंक्तियों को जोड़कर अपनी समस्या का समाधान किया है।

-keep class android.support.v4। ** {; }
-dontwarn android.support.v4।
*

+0

अच्छा .. साझा करने के लिए thx – stinepike

+0

आप कहाँ हैं ?? इस समस्या पर मदद की ज़रूरत है – Piyush

+0

@GrIsHu इस प्रोजेक्ट समस्या में हैं – Piyush

6

उपयोग

-dontwarn android.support.v4.** 

एक और कोशिश:

डाउनलोड lates ProGuard (मैं डाउनलोड किया 4.9) और lib फ़ोल्डर

एक और एक और कोशिश परिवर्तन:

आप एक मानक प्रोगार्ड का उपयोग कर सकते हैं। उदाहरण के लिए here

हाल ही में मुझे कई समस्याओं का सामना करना पड़ा और गहराई से प्रोजेक्ट मैकेनिज्म सीखने की योजना बनाई गई। लेकिन वर्तमान में मुझे इसके बारे में बहुत कम विचार है। लेकिन पिछले तीन समाधान मुझे कई बार बचाता है

+0

कोई बदलाव अभी भी एक ही त्रुटि नहीं है। – GrIsHu

+0

आपकी मदद के लिए धन्यवाद मैंने अपनी समस्या का समाधान किया है आप मेरा जवाब देख सकते हैं। – GrIsHu

संबंधित मुद्दे