如何忽略登录Android Studio中的所有硬编码字符串?

时间:2016-08-18 19:04:49

标签: android string suppress-warnings hardcoded

我一直在阅读从Log中忽略硬编码字符串:

Log.d(TAG,“onBindViewHolder:”);

甚至在Toast中: Toast.makeText(context,“Hardcoded text”,LENGTH_SHORT).show();

来源: How can I find all RELEVANT hard coded strings in Android Studio?

Android find all hardcoded strings in code using Android Studio

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

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

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

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

2 个答案:

答案 0 :(得分:2)

是的,你可以!

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

有一个选项,如"注释课程' Log'作为@ Non_Nls" enter image description here

之后将在路径" $ modulename / android / util / annotations.xml"生成文件。有这个内容:

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

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

答案 1 :(得分:0)

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