Proguard와는 "Proguard와 오류 코드 1 반환"과 충돌되는 다른 현재의 크기를 가지고 있고 콘솔에서이 충돌 :Proguard와 : IllegalArgumentException가 : 스택은,
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)
내가위한 시도의 catch 블록에 좁혀 IOException 내가 catch 블록을 주석 처리하면 다른 IOException에 대해이 오류가 표시됩니다. catch 블록은 응용 프로그램의 다른 곳에 있습니다. 그 중 하나를 언급하면 성공적으로 빌드됩니다.
그래서 두 장소에서 proguard는 IOException try catch 블록에서 충돌하는 것으로 보입니다. 이 블록은 이전에 아무런 문제없이 proguard를 통과 한 이전 빌드의 코드에있었습니다.
또한 오류를주지 않는 다른 IOException catch 블록이 있습니다.
proguard 4.5, 4.6 및 4.7에서이 작업을 시도했지만 모두 실패했습니다.
아이디어가 있으십니까?
감사
첫째로, 그것은 정말 굉장하고 사용하기 쉬운 난독 너무 감사합니다. 나는 앞서 가서 버그를 신청했다. 이 스택 오버플로 포스트를 완성하기 위해 링크는 다음과 같습니다 https://sourceforge.net/tracker/?func=detail&aid=3487940&group_id=54750&atid=474704 다시 한번 감사드립니다. – cottonBallPaws
ProGuard 버전 5.2.1에서 여전히 발생합니다 .- ( –
5.3.3도 여기에 해결책이 있습니까? – batmaci