web-dev-qa-db-fra.com

Supprimer "Identifiant non autorisé dans Android"

Pour mon application écrite en Kotlin, j'utilise des noms de méthode à l'insigne pour les tests, comme ceci:

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

Cela fonctionne, les tests sont compilés et fonctionnent sans problème, mais Lint dans Android Studio marque ces méthodes comme des erreurs avec le message Identifier not allowed in Android.

Existe-t-il un moyen de le supprimer pour que la vérification de la charpie se passe sans erreur et qu'elle ne soit pas marquée d'un soulignement rouge dans Android Studio?

21
Michał K

Je ne sais pas si vous pouvez le faire dans le code, mais vous pouvez au moins le désactiver dans l'EDI. Allez dans "Fichier | Paramètres | Editeur | Inspections | Identifiant Android illégal" et désactivez cette inspection.

13
wnc_21

Sur la base de la réponse wnc_21, j'ai découvert qu'il peut être désactivé pour une portée spécifique. Dans mon cas, il est uniquement utilisé dans les tests. 

 Android Studio disable inspection for tests scope

35
Michał K

Utilisation:

@file:Suppress("IllegalIdentifier")

en haut du dossier

11
MarcinM

J'utilise

@Suppress("IllegalIdentifier")

exemple

@Suppress("IllegalIdentifier")
class SignUpTest {
3
Jack the Ripper

Il existe un moyen de supprimer les contrôles Lint d'un fichier de configuration Lint au lieu d'annoter chaque fichier ou autre avec @Suppress. Notez que cela n'affecte que les versions exécutées à partir de la ligne de commande. Je n'ai toujours pas compris comment faire pour qu'Android Studio utilise ce fichier de configuration pour les inspections de code.

Le plugin Android Gradle a la propriété lintConfig sous lintOptions dans son DSL .

Il vous permet de spécifier le chemin d'accès à un fichier xml de configuration Lint. La fonctionnalité est documentée ici .

Un exemple de fichier de configuration 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>

Ainsi, la configuration de l'inspection de code fait partie de la base de code et est partagée par tous les développeurs.

0
Nimrod Dayan