Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我打开proguard时,Android Studio 3.1.2因StackOverflower错误而失败_Android_Gradle_Android Gradle Plugin - Fatal编程技术网

当我打开proguard时,Android Studio 3.1.2因StackOverflower错误而失败

当我打开proguard时,Android Studio 3.1.2因StackOverflower错误而失败,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,在Android上升级到最新的gradle 3.1.2后,我无法再使用proguard编译我的项目 我可以在不启用proguard的情况下很好地编译项目。但当我像下面这样打开它时 debug { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rule

在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)

什么会导致此错误?

您不应该在调试版本中缩减资源。在发布版
buildType
@MatPag中移动两行(
minifyEnabled true
shrinkResources true
),它在发布版上也不起作用。我只是将其打开“调试”以消除其他可能的问题。尝试使缓存无效并重新启动为?@MatPag谢谢我也这样做了。它不起作用。我多次清理它,并尝试在终端上运行它,以查看是否可以获得更详细的消息,但我没有看到任何其他有用的消息。@SiPe我无法找到解决方案,但我找到了导致此问题的原因。这是一个模糊化了的库,甚至包名也模糊化了。因此,我的假设是proguard试图混淆已混淆的库,然后再次混淆,这是造成此问题的原因。