当我打开proguard时,Android Studio 3.1.2因StackOverflower错误而失败
在Android上升级到最新的gradle 3.1.2后,我无法再使用proguard编译我的项目 我可以在不启用proguard的情况下很好地编译项目。但当我像下面这样打开它时当我打开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
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试图混淆已混淆的库,然后再次混淆,这是造成此问题的原因。