此文版權屬於作者所有,任何人、媒體或者網站轉載、借用都必須徵得作者本人同意!
ant java 項目,執行到 proguard 階段發生 StackOverflowError 錯誤,錯誤類似下面:
build.xml:339: java.lang.StackOverflowError
at proguard.classfile.ProgramClass.constantPoolEntryAccept(ProgramClass.java:465)
at proguard.shrink.UsageMarker.markConstant(UsageMarker.java:1079)
at proguard.shrink.UsageMarker.visitClassConstant(UsageMarker.java:499)
at proguard.shrink.ShortestUsageMarker.visitClassConstant(ShortestUsageMarker.java:36)
at proguard.classfile.constant.ClassConstant.accept(ClassConstant.java:91)
執行 ant xxx 之前,不妨設置環境變量 OPT_ANTS 應該就可以解決這個問題:
export ANT_OPTS='-Xms1024m -Xmx1024m -Xss64m'
你可以把這個設置添加到 .bashrc 裏面。