You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Lint未报告@Deprecated标记类/函数的使用,配置lint.xml无效求助

解决Android Lint未检测到@Deprecated使用情况的问题

先确认Lint扫描范围和触发方式

  • 检查build.gradle的lintOptions配置,确保没把使用废弃类/方法的文件或模块排除在外:
    lintOptions {
        checkAllWarnings true
        // 别写exclude把需要扫描的目录排除了
        // exclude '**/some-unrelated-dir/**'
    }
    
  • 别用增量扫描,直接触发全量检查:Android Studio里选Analyze > Inspect Code...,勾选整个项目;或者命令行执行./gradlew lint。

检查@Deprecated注解的正确性

  • 必须用Java自带的java.lang.Deprecated或者Kotlin标准的@Deprecated,别用自定义的同名注解,Lint不认。
  • 要是Kotlin代码,留意@Deprecated的level参数,别设成DeprecationLevel.HIDDEN(默认是WARNING,没问题,但手动改了就会失效):
    @Deprecated("该类已废弃", level = DeprecationLevel.WARNING)
    class OldClass
    

修正lint.xml配置

  • 确认lint.xml位置:要么在项目根目录,要么在对应模块的src/main下(模块级配置优先级更高)。
  • 检查配置有没有冲突,别同时存在disable这个规则的代码,正确配置示例:
    <?xml version="1.0" encoding="UTF-8"?>
    <lint>
        <issue id="Deprecated" severity="warning" />
        <!-- 删掉任何<issue id="Deprecated" severity="ignore" />的配置 -->
    </lint>
    

更新Lint相关版本

  • 旧版gradle插件的Lint可能有bug,把项目根目录build.gradle里的gradle插件版本更到新稳定版试试:
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2' // 换成最新稳定版
    }
    

确认HTML报告的完整性

  • 打开Lint生成的HTML报告,看"Summary"部分,确认扫描的文件数量是不是覆盖了所有用到废弃代码的地方,别只生成了单个模块的报告。

内容的提问来源于stack exchange,提问作者Radim Janda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 20:47:14