我一直在阅读从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”,这可能是一个好方法吗?如果答案是肯定的,我怎么能这样做?
答案 0 :(得分: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中提到的所有字符串。
答案 1 :(得分:0)
硬编码文本不是错误,它是一个警告,可以通过按左alt + Enter进行处理。当您按下alt + Enter键时,您只是将这些硬编码的字符串定义为values文件夹中的string.xml。