抑制 "Identifier not allowed in Android"
Suppress "Identifier not allowed in Android"
对于我用 Kotlin 编写的应用程序,我使用带反引号的方法名称进行测试,如下所示:
fun `API login error - don't save token or user`() {
它有效,测试编译和工作没有问题,但 Android Studio 中的 Lint 将这些方法标记为错误消息 Identifier not allowed in Android
。
有什么方法可以抑制这种情况,使 Lint 检查无误地通过,并且不会在 Android Studio 中用红色下划线标记?
我不确定你是否可以在代码中做到这一点,但你至少可以在 IDE 中禁用它。转到 "File | Settings | Editor | Inspections | Illegal Android Identifier" 并禁用此检查。
根据 wnc_21 的回答,我发现它可以针对特定范围禁用,在我的情况下,它仅用于测试,所以就是这样。
使用:
@file:Suppress("IllegalIdentifier")
在文件顶部
我用
@Suppress("IllegalIdentifier")
例子
@Suppress("IllegalIdentifier")
class SignUpTest {
有一种方法可以从 Lint 配置文件中抑制 Lint 检查,而不是使用 @Suppress
注释每个文件或任何内容。请注意,它只影响从命令行执行的构建。我仍然没有弄清楚如何让 Android Studio 使用此配置文件进行代码检查。
Android Gradle 插件在其 DSL.
中的 lintOptions
下有 lintConfig
属性
它允许您指定 Lint 配置 xml 文件的路径。该功能已记录 here。
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>
这样,代码检查配置成为代码库的一部分,并在所有开发人员之间共享。
当我打算将新测试 class 添加到 test
包但错误地将其添加到 androidTest
时出现此错误。
将 class 移动到正确的 test
包后问题得到解决。
对于我用 Kotlin 编写的应用程序,我使用带反引号的方法名称进行测试,如下所示:
fun `API login error - don't save token or user`() {
它有效,测试编译和工作没有问题,但 Android Studio 中的 Lint 将这些方法标记为错误消息 Identifier not allowed in Android
。
有什么方法可以抑制这种情况,使 Lint 检查无误地通过,并且不会在 Android Studio 中用红色下划线标记?
我不确定你是否可以在代码中做到这一点,但你至少可以在 IDE 中禁用它。转到 "File | Settings | Editor | Inspections | Illegal Android Identifier" 并禁用此检查。
根据 wnc_21 的回答,我发现它可以针对特定范围禁用,在我的情况下,它仅用于测试,所以就是这样。
使用:
@file:Suppress("IllegalIdentifier")
在文件顶部
我用
@Suppress("IllegalIdentifier")
例子
@Suppress("IllegalIdentifier")
class SignUpTest {
有一种方法可以从 Lint 配置文件中抑制 Lint 检查,而不是使用 @Suppress
注释每个文件或任何内容。请注意,它只影响从命令行执行的构建。我仍然没有弄清楚如何让 Android Studio 使用此配置文件进行代码检查。
Android Gradle 插件在其 DSL.
中的lintOptions
下有 lintConfig
属性
它允许您指定 Lint 配置 xml 文件的路径。该功能已记录 here。
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>
这样,代码检查配置成为代码库的一部分,并在所有开发人员之间共享。
当我打算将新测试 class 添加到 test
包但错误地将其添加到 androidTest
时出现此错误。
将 class 移动到正确的 test
包后问题得到解决。