4

我一直在阅读有关忽略 Log 中的硬编码字符串的信息:

Log.d(TAG, "onBindViewHolder: ");

即使在 Toast 内部:Toast.makeText(context,"Hardcoded text",LENGTH_SHORT).show();

资料来源: 如何在 Android Studio 中找到所有相关的硬编码字符串?

Android 使用 Android Studio 查找代码中的所有硬编码字符串

在第一个来源中,有最好的方法,但有些东西不起作用,那就是:

“将 @SuppressLint("HardcodedNonLog") 添加到类定义的顶部”

有没有办法忽略这些硬编码的字符串?

更新
创建一个 Gradle 任务以将“//NON-NLS”添加到每个日志,这可能是一个好方法吗?如果答案是肯定的,我该怎么做?

4

2 回答 2

2

是的你可以!

至少使用 Android Studio 3.0 canary 9(未检查以前的版本)。

有像“将类'Log'注释为@Non_Nls”之类的选项 在此处输入图像描述

之后将在路径“$modulename/android/util/annotations.xml”生成文件,内容如下:

<root>
   <item name='android.util.Log'>
       <annotation name='org.jetbrains.annotations.NonNls'/>
   </item>
</root>

使用此文件,此模块将忽略 Log 中提到的所有字符串。

于 2017-08-03T10:55:31.983 回答
0

硬编码文本不是错误,它是一个警告,可以通过按左 alt+Enter 来处理。当您按 alt+Enter 时,您只是将该硬编码字符串定义为 values 文件夹中的 string.xml。

于 2019-09-11T08:31:49.380 回答