【问题标题】:How can I ignore all hard coded strings inside Log in Android Studio?如何在 Android Studio 中忽略 Log 中的所有硬编码字符串?
【发布时间】:2016-08-18 19:04:49
【问题描述】:

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

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

即使在吐司里面: Toast.makeText(context,"硬编码文本",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 任务以将“//NON-NLS”添加到每个日志,这可能是一个好方法吗?如果答案是肯定的,我该怎么做?

【问题讨论】:

    标签: android string suppress-warnings hardcoded


    【解决方案1】:

    是的,你可以!

    至少在 Android Studio 3.0 canary 9 上(未检查过以前的版本)。

    有像“将类'日志'注释为@Non_Nls”之类的选项

    之后将在路径“$modulename/android/util/annotations.xml”处生成包含以下内容的文件:

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

    有了这个文件,日志中提到的所有字符串都会被这个模块忽略。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-09-22
        • 2015-10-07
        • 2015-08-28
        • 1970-01-01
        • 2016-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多