Proguard si blocca con "Proguard restituito con il codice di errore 1", e questo incidente nella console:Proguard: IllegalArgumentException: Pile hanno dimensioni diverse correnti
java.lang.IllegalArgumentException: Stacks have different current sizes [0] and [1]
at proguard.evaluation.Stack.generalize(Stack.java:125)
at proguard.evaluation.TracedStack.generalize(TracedStack.java:140)
at proguard.optimize.evaluation.PartialEvaluator.evaluateSingleInstructionBlock(PartialEvaluator.java:683)
at proguard.optimize.evaluation.PartialEvaluator.evaluateInstructionBlock(PartialEvaluator.java:587)
at proguard.optimize.evaluation.PartialEvaluator.visitExceptionInfo(PartialEvaluator.java:1078)
at proguard.classfile.visitor.ExceptionHandlerFilter.visitExceptionInfo(ExceptionHandlerFilter.java:67)
at proguard.classfile.attribute.CodeAttribute.exceptionsAccept(CodeAttribute.java:186)
at proguard.optimize.evaluation.PartialEvaluator.evaluateExceptionHandlers(PartialEvaluator.java:1018)
at proguard.optimize.evaluation.PartialEvaluator.evaluateInstructionBlockAndExceptionHandlers(PartialEvaluator.java:567)
at proguard.optimize.evaluation.PartialEvaluator.visitCodeAttribute0(PartialEvaluator.java:264)
at proguard.optimize.evaluation.PartialEvaluator.visitCodeAttribute(PartialEvaluator.java:181)
at proguard.optimize.evaluation.LivenessAnalyzer.visitCodeAttribute(LivenessAnalyzer.java:205)
at proguard.optimize.evaluation.VariableOptimizer.visitCodeAttribute(VariableOptimizer.java:105)
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:833)
at proguard.ProGuard.optimize(ProGuard.java:306)
at proguard.ProGuard.execute(ProGuard.java:115)
at proguard.ProGuard.main(ProGuard.java:492)
mi sono limitata ad un blocco try cattura per una IOException. Se commento che provi a bloccare il blocco, viene visualizzato questo errore per un'altra IOException che tenta di bloccare il blocco altrove nell'app. Se commento quello fuori, poi costruisce con successo.
Quindi, in entrambi i casi, proguard sembra bloccarsi su un blocco catch di IOException. Questi blocchi sono stati inseriti nel codice in versioni precedenti che sono passati attraverso proguard senza alcun problema prima.
Inoltre, ci sono altri blocchi catch IOException che non danno alcun errore.
Ho provato questo con proguard 4.5, 4.6 e 4.7 e tutti falliti.
Qualche idea?
Grazie
Prima di tutto, grazie mille per Proguard, è veramente impressionante e facile da usare. Sono andato avanti e ho presentato un bug. Per rendere questo post completo di overflow dello stack, ecco il link https://sourceforge.net/tracker/?func=detail&aid=3487940&group_id=54750&atid=474704 Grazie ancora. – cottonBallPaws
succede ancora con ProGuard versione 5.2.1 :-( –
5.3.3 anche. Qual è la soluzione qui? – batmaci