抑制“Android中不允许使用的标识符”

57

我写的 Kotlin 应用程序中,我使用反引号方法名称来进行测试,就像这样:

fun `API login error - don't save token or user`() {

它可以工作,测试编译并正常工作,但是在Android Studio中,Lint标记这些方法为错误并显示消息Android不允许的标识符

有没有什么方法可以抑制这个问题,以便Lint检查通过而不会在Android Studio中标记为红色下划线?

6个回答

66

根据wnc_21的答案,我发现可以针对特定范围禁用它,在我的情况下仅在测试中使用,所以就这样。

Android Studio disable inspection for tests scope


31

使用:

@file:Suppress("IllegalIdentifier")

在文件顶部


1
这是一个很棒的答案,因为它可以给你更精细的控制,并且可以与克隆你代码的其他用户共享。 - Juan Saravia
这是更加优雅和灵活的方式! - Onik

27

我不确定你是否可以在代码中实现,但是你至少可以在IDE中禁用它。前往“文件|设置|编辑器|检查|非法Android标识符”,然后禁用此检查。


14

我使用

@Suppress("IllegalIdentifier")

例子

@Suppress("IllegalIdentifier")
class SignUpTest {

3

当我打算将一个新的测试类添加到test包中时,由于错误,我错误地将其添加到了androidTest中,导致出现了该错误。

将该类移至正确的test包后,问题得以解决。


3
有一种方法可以通过Lint配置文件来抑制Lint检查,而不是在每个文件或其他内容上注释@Suppress。请注意,它仅影响从命令行执行的构建。我仍然没有弄清楚如何使Android Studio使用此配置文件进行代码检查。
Android Gradle插件在其DSL下的lintOptions中具有lintConfig属性。
它允许您指定Lint配置xml文件的路径。该功能在这里有文档记录。
一个示例Lint配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the given check in this project -->
    <issue id="IllegalIdentifier">
        <ignore path="**/androidTest/**" />
        <ignore path="**/test/**" />
    </issue>
</lint>

这样,代码检查配置就成为代码库的一部分,并在所有开发人员之间共享。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接