升级Android Studio后Android Annotations项目报错'_'非合法Java标识符如何解决
根因分析
该错误由JDK版本与Android Annotations(AA)版本不兼容导致。从JDK 9开始,单个下划线_被正式列为非法Java标识符,Android Studio Arctic Fox默认内置JDK 11,会强制执行该校验规则;低版本AA在初始化阶段直接使用_作为内部常量,触发校验失败。旧版本Android Studio默认内置JDK 8,无该校验规则,因此可以正常编译。
解决方案
方案1(优先推荐):升级Android Annotations到兼容版本
AA从4.7.0版本开始已经修复了该问题,直接修改项目依赖中的AA版本到4.7.0及以上即可解决:
- 项目根build.gradle中修改AA插件版本
- 模块build.gradle中修改AA相关依赖的版本
同步项目后重新构建即可。
方案2:回退编译使用的JDK版本
如果项目暂时无法升级AA版本,可以手动指定项目使用JDK 8编译:
- 打开Android Studio的
File -> Project Structure -> SDK Location -> Gradle Settings - 在
Gradle JDK选项中选择本地已安装的JDK 8 - 打开模块级build.gradle,添加/修改编译配置:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } // 项目使用kapt的话添加以下配置 kapt { javacOptions { option("-source", "8") option("-target", "8") } } }
同步后重新构建即可。
方案3(临时验证用):关闭kapt增量编译
部分场景下kapt增量编译会触发该校验异常,可在项目根目录的gradle.properties中添加以下配置临时验证:kapt.incremental.apt=false
该方案仅用于临时排查问题,不建议长期使用。
内容的提问来源于stack exchange,提问作者Gabriel Júnior de Souza
相关产品推荐
相关产品推荐

