Ответ 1
Я не уверен, что вы можете сделать это в коде, но вы можете, по крайней мере, отключить его в среде IDE. Перейдите в "Файл | Настройки | Редактор | Инспекции | Незаконный Android-идентификатор" и отключите эту проверку.
Для моего приложения, написанного в Kotlin, я использую обратные имена методов для тестов, например:
fun 'API login error - don't save token or user'() {
Он работает, тесты компилируются и работают без проблем, но Lint в Android Studio отмечает эти методы как ошибку с сообщением Identifier not allowed in Android
.
Есть ли способ подавить это, чтобы проверка Lint проходила без ошибок и не была отмечена красным подчеркиванием в Android Studio?
Я не уверен, что вы можете сделать это в коде, но вы можете, по крайней мере, отключить его в среде IDE. Перейдите в "Файл | Настройки | Редактор | Инспекции | Незаконный Android-идентификатор" и отключите эту проверку.
Основываясь на ответе wnc_21, я обнаружил, что его можно отключить для определенной области, в моем случае он используется только в тестах, чтобы это было.
Использование:
@file:Suppress("IllegalIdentifier")
в верхней части файла
я использую
@Suppress("IllegalIdentifier")
пример
@Suppress("IllegalIdentifier")
class SignUpTest {
Там есть способ подавить проверки Lint из файла конфигурации Lint вместо аннотирования каждого отдельного файла или любого @Suppress
с помощью @Suppress
. Обратите внимание, что это влияет только на сборки, выполненные из командной строки. Я до сих пор не понял, как заставить Android Studio использовать этот файл конфигурации для проверки кода.
Android Gradle плагин имеет lintConfig
свойство при lintOptions
в его DSL.
Он позволяет указать путь к xml файлу конфигурации Lint. Эта функция описана здесь.
Пример файла конфигурации 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>
Таким образом, конфигурация проверки кода является частью кодовой базы и является общей для всех разработчиков.