【问题标题】:Right place to put `@SuppressLint("ExifInterface")`?放置`@SuppressLint("ExifInterface")` 的正确位置?
【发布时间】:2021-06-29 04:52:37
【问题描述】:

Android Studio 4.1 建议避免使用 android.media.exifinterface 并改用 android.support.media.exifinterface。我们可能想要抑制它,例如,如果项目具有最小 SDK API 24,并且it is known android.media.exifinterface 适用于 API 24 及更高版本。

Android Studio 的上下文菜单提供了Add @SuppressLint("ExifInterface"),但点击它没有任何反应。在多个地方添加@SuppressLint("ExifInterface")(当然一次尝试一个)不起作用,例如,

  • import android.media.exifinterface; 语句正上方的行
  • 整个文件顶部package 行之前的行

添加此@SuppressLint 注释的正确位置在哪里?

【问题讨论】:

  • 我认为您需要在模块级别使用build.gradlelint-baseline.xml 或其他东西来抑制它。我没有看到将该注释应用于import 语句的选项,我认为这是您看到的地方。 FWIW,我提交了 this issue 以更新该类引用——我很惊讶地看到对旧 android.support.media.ExifInterface 的引用漂浮在各处。
  • 谢谢,在build.gradle 中进行了工作。是的。 lint 建议出现在 import 声明中。如果您想将其写为答案,我可以接受。
  • FWIW,我为你提交的问题加了星标

标签: android android-studio lint suppress-warnings


【解决方案1】:

和你一样,我找不到用于抑制 import 语句上的 Lint 警告的 @SuppressLint 的位置。 ?

在这种情况下,我的猜测是您无论如何都希望在整个模块范围内进行抑制。我想不出您想在某些地方使用框架 ExifInterface 而在其他地方使用库 ExifInterface 的场景。因此,您可以使用 like lint.xmllintOptions in the module's build.gradle file 来抑制整个模块的内容。

【讨论】:

    【解决方案2】:

    你可以试试这个:

    //noinspection ExifInterface
    import android.media.exifinterface;
    

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 2015-12-01
    • 1970-01-01
    相关资源
    最近更新 更多