如何修复lint分析报错"Unexpected failure during lint analysis. StackOverflowError"
Android Lint 7.0.2版本StackOverflowError问题解决方案
根因说明
该报错是Android Lint 7.0.2版本的官方已知缺陷,触发原因为Lint的Kotlin UAST语法转换层处理特定Kotlin语法结构时出现无限递归调用,最终触发栈溢出错误。
可选用解决方案
- 方案1(最推荐):升级Lint版本到7.1.0及以上稳定版,该问题已在7.1.0版本中被官方修复。只需修改项目根目录build.gradle中
com.android.tools.lint:lint-gradle依赖的版本号为7.1.0+即可,无需调整其他业务配置。 - 方案2(临时规避):若当前项目暂不支持升级AGP/Lint版本,可在项目lint配置文件lint.xml中添加规则,跳过报错类的Lint检查:
<lint> <issue id="all"> <ignore path="**/SomeClass.kt" /> </issue> </lint> - 方案3(临时规避):调高Gradle JVM栈空间大小,降低栈溢出触发概率。在项目根目录的gradle.properties文件中添加如下配置:
org.gradle.jvmargs=-Xss4m
注意:方案2、3仅为临时兜底方案,升级Lint版本是彻底解决该问题的最优选择
内容的提问来源于stack exchange,提问作者Nikita Prudius
相关产品推荐
相关产品推荐

