首页 > 解决方案 > 当我打开 proguard 时,Android Studio 3.1.2 失败并出现 StackOverFlowError

问题描述

在 Android 上升级到最新的 gradle 3.1.2 后,我无法再使用 proguard 编译我的项目。

我可以在没有启用 proguard 的情况下很好地编译项目。但是当我像下面这样打开它时

debug {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debugConfig
        }

项目无法编译,我看到此错误消息

Cause: java.lang.StackOverflowError
    at proguard.classfile.instruction.InstructionFactory.create(InstructionFactory.java:296)
    at proguard.classfile.attribute.visitor.StackSizeComputer.evaluateInstructionBlock(StackSizeComputer.java:325)
    at proguard.classfile.attribute.visitor.StackSizeComputer.visitBranchInstruction(StackSizeComputer.java:207)
    at proguard.classfile.instruction.BranchInstruction.accept(BranchInstruction.java:141)
    at proguard.classfile.attribute.visitor.StackSizeComputer.evaluateInstructionBlock(StackSizeComputer.java:366)
    at proguard.classfile.attribute.visitor.StackSizeComputer.visitBranchInstruction(StackSizeComputer.java:207)
    at proguard.classfile.instruction.BranchInstruction.accept(BranchInstruction.java:141)
    at proguard.classfile.attribute.visitor.StackSizeComputer.evaluateInstructionBlock(StackSizeComputer.java:366)
    at proguard.classfile.attribute.visitor.StackSizeComputer.visitBranchInstruction(StackSizeComputer.java:207)

什么会导致这个错误?

标签: androidgradleandroid-gradle-plugin

解决方案


推荐阅读