为何Lint推荐Android项目使用Guava的JRE版本而非Android版本?
关于Guava Android版本的Lint提示误报分析
这个Lint提示属于误报,没有合理依据,具体分析如下:
核心原因
- Guava的
-android和-jre后缀是针对不同运行环境的并行分支版本,并非新旧版本关系。33.2.1-android与33.2.1-jre是同一版本号下的适配发行版,不存在谁比谁更新的情况。 - Lint的版本检测逻辑仅做简单的字符串对比,未识别后缀代表的环境差异,误将
-jre版本判定为更新版本。 - 从官方规范来看,Android项目必须使用
-android专属版本——该版本做了Android平台适配优化,比如精简不必要的JRE依赖、适配Android类加载机制等,虽然-jre版本能临时运行,但不符合官方推荐的最佳实践。
处理建议
- 忽略该误报,可在项目lint配置中添加规则排除:
lintOptions { // 全局禁用Gradle依赖版本检查规则,或通过其他过滤方式精准屏蔽Guava的误报 disable 'GradleDependency' } - 坚持使用
implementation("com.google.guava:guava:33.2.1-android"),遵循Android项目的适配要求。
内容的提问来源于stack exchange,提问作者FilozoF
相关产品推荐
相关产品推荐

