Code mit lint-Prüfungen verbessern

Neben Tests erstellen, um sicherzustellen, dass Ihre App die funktionalen Anforderungen erfüllt, ist es wichtig, den Code auch mit dem Lint-Tool zu prüfen, um sicherzustellen, dass er keine strukturellen Probleme aufweist. Das Lint-Tool hilft dabei, schlecht strukturierten Code zu finden, der sich auf die Zuverlässigkeit und Effizienz Ihrer Android-Apps auswirken und die Wartung Ihres Codes erschweren kann. Wir empfehlen Ihnen dringend, alle von Lint erkannten Fehler zu korrigieren, bevor Sie Ihre App veröffentlichen.

Wenn Ihre XML-Ressourcendateien beispielsweise nicht verwendete Namespaces enthalten, wird Speicherplatz belegt und eine unnötige Verarbeitung erforderlich. Andere strukturelle Probleme, z. B. die Verwendung nicht mehr unterstützter Elemente oder API-Aufrufe, die von den Ziel-API-Versionen nicht unterstützt werden, können dazu führen, dass der Code nicht richtig ausgeführt wird. Lint kann Ihnen helfen, diese Probleme zu beheben.

Um die Leistung des Lint-Tools zu verbessern, können Sie auch Anmerkungen zu Ihrem Code hinzufügen.

Übersicht

Android Studio bietet ein Code-Scantool namens lint, mit dem Sie Probleme mit der strukturellen Qualität Ihres Codes erkennen und korrigieren können, ohne die App ausführen oder Testfälle schreiben zu müssen. Jedes vom Tool erkannte Problem wird mit einer Beschreibung und einer Schweregradstufe gemeldet, damit Sie die erforderlichen wichtigen Verbesserungen priorisieren können. Sie können den Schweregrad eines Problems auch senken, um Probleme zu ignorieren, die für Ihr Projekt nicht relevant sind, oder den Schweregrad erhöhen, um bestimmte Probleme hervorzuheben.

Das Lint-Tool prüft die Quelldateien Ihres Android-Projekts auf potenzielle Fehler und Optimierungsverbesserungen in Bezug auf Korrektheit, Sicherheit, Leistung, Nutzerfreundlichkeit, Barrierefreiheit und Internationalisierung. Wenn Sie Android Studio verwenden, werden konfigurierte Lint- und IDE-Prüfungen ausgeführt, wenn Sie Ihre App erstellen. Sie können jedoch Prüfungen manuell ausführen oder Lint über die Befehlszeile ausführen, wie auf dieser Seite beschrieben.

Das integrierte Lint-Tool prüft Ihren Code, während Sie Android Studio verwenden. Sie haben zwei Möglichkeiten, sich Warnungen und Fehler anzusehen:

  • Als Pop-up-Text im Editorfenster. Wenn lint ein Problem findet, wird der entsprechende Code gelb hervorgehoben. Bei schwerwiegenderen Problemen wird der Code rot unterstrichen.
  • Im Fenster Lint-Prüfergebnisse, wenn Sie auf Code > Code prüfen klicken.

Hinweis:Wenn Ihr Code in Android Studio kompiliert wird, werden zusätzliche IntelliJ-Codeprüfungen ausgeführt, um die Codeüberprüfung zu optimieren. Halten Sie Android Studio so aktuell wie möglich, damit die neuesten Lint-Regeln und ‑Prüfungen verfügbar sind.

Abbildung 1 zeigt, wie das Lint-Tool App-Quelldateien verarbeitet.

Code-Scan-Workflow mit dem Lint-Tool
Abbildung 1: Code-Scan-Workflow mit dem Lint-Tool
App-Quelldateien
Die Quelldateien bestehen aus Dateien, die Ihr Android-Projekt bilden, einschließlich Kotlin-, Java- und XML-Dateien, Symbolen und ProGuard-Konfigurationsdateien.
Die Datei lint.xml
Eine Konfigurationsdatei, mit der Sie alle auszuschließenden Lint-Prüfungen angeben und die Schwere von Problemen anpassen können.
Das Lint-Tool
Ein Tool zum Scannen von statischem Code, das Sie in Ihrem Android-Projekt entweder über die Befehlszeile oder in Android Studio ausführen können. Das Lint-Tool prüft auf strukturelle Codeprobleme, die sich auf die Qualität und Leistung Ihrer Android-App auswirken können.
Ergebnisse der Lint-Prüfung
Sie können die Ergebnisse von lint entweder in der Konsole oder im Fenster Inspection Results (Prüfungsergebnisse) in Android Studio aufrufen. Wenn Sie lint über die Befehlszeile ausführen, werden die Ergebnisse in den Ordner build/ geschrieben. Weitere Informationen finden Sie im Abschnitt Prüfungen manuell ausführen.

Lint über die Befehlszeile ausführen

Wenn Sie Android Studio oder Gradle verwenden, verwenden Sie den Gradle-Wrapper, um die lint-Aufgabe für Ihr Projekt aufzurufen. Geben Sie dazu einen der folgenden Befehle im Stammverzeichnis Ihres Projekts ein:

Hinweis:Halten Sie das Android Gradle-Plug-in so aktuell wie möglich, um die neuesten Lint-Regeln zu verwenden.

  • Unter Windows:
    gradlew lint
    
  • Unter Linux oder macOS:
    ./gradlew lint
    

Die Ausgabe sollte in etwa so aussehen:

> Task :app:lintDebug
Wrote HTML report to file:<path-to-project>/app/build/reports/lint-results-debug.html

Wenn das Lint-Tool seine Prüfungen abgeschlossen hat, werden Pfade zu den XML- und HTML-Versionen des Lint-Berichts angegeben. Sie können dann den HTML-Bericht aufrufen und in Ihrem Browser öffnen, wie in Abbildung 2 dargestellt.

Beispiel für einen HTML-Lint-Bericht
Abbildung 2: Beispiel für einen HTML-Lint-Bericht

Wenn Ihr Projekt Buildvarianten enthält, wird nur die Standardvariante geprüft. Wenn Sie Lint für eine andere Variante ausführen möchten, müssen Sie den Namen der Variante großschreiben und mit lint beginnen.

./gradlew lintRelease

Hinweis:Lint wird nicht automatisch als Teil des Builds ausgeführt. Wir empfehlen dringend, Lint explizit als Teil eines Continuous-Integration-Builds auszuführen, damit Sie beim Erstellen Ihres vorhandenen Quellcodes die neuesten Lint-Prüfungen sehen.

Weitere Informationen zum Ausführen von Gradle-Aufgaben über die Befehlszeile finden Sie unter Anwendung über die Befehlszeile erstellen.

Lint mit dem eigenständigen Tool ausführen

Wenn Sie nicht Android Studio oder Gradle verwenden, müssen Sie die Android SDK-Befehlszeilentools installieren, um das eigenständige Lint-Tool verwenden zu können. Suchen Sie das Lint-Tool unter android_sdk/cmdline-tools/version/bin/lint.

Hinweis:Wenn Sie versuchen, das eigenständige Tool in einem Gradle-Projekt auszuführen, wird ein Fehler ausgegeben. Sie sollten immer gradle lint (unter Windows) oder ./gradlew lint (unter macOS oder Linux) verwenden, um lint in einem Gradle-Projekt auszuführen.

Wenn Sie lint auf eine Liste von Dateien in einem Projektverzeichnis anwenden möchten, verwenden Sie den folgenden Befehl:

lint [flags] <project directory>

Mit dem folgenden Befehl können Sie beispielsweise die Dateien im Verzeichnis myproject und dessen Unterverzeichnissen scannen: Die Problem-ID MissingPrefix weist lint an, nur nach XML-Attributen zu suchen, bei denen das Android-Namespacepräfix fehlt.

lint --check MissingPrefix myproject 

Mit dem folgenden Befehl können Sie eine vollständige Liste der vom Tool unterstützten Flags und Befehlszeilenargumente aufrufen:

lint --help

Das folgende Beispiel zeigt die Konsolenausgabe, wenn der Befehl „lint“ für ein Projekt namens „Earthquake“ ausgeführt wird:

$ lint Earthquake

Scanning Earthquake: ...............................................................................................................................
Scanning Earthquake (Phase 2): .......
AndroidManifest.xml:23: Warning: <uses-sdk> tag appears after <application> tag [ManifestOrder]
  <uses-sdk android:minSdkVersion="7" />
  ^
AndroidManifest.xml:23: Warning: <uses-sdk> tag should specify a target API level (the highest verified version; when running on later versions, compatibility behaviors may be enabled) with android:targetSdkVersion="?" [UsesMinSdkAttributes]
  <uses-sdk android:minSdkVersion="7" />
  ^
res/layout/preferences.xml: Warning: The resource R.layout.preferences appears to be unused [UnusedResources]
res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMissingDensityFolder]
0 errors, 4 warnings

Die Beispielausgabe enthält vier Warnungen und keine Fehler.

Zwei Warnungen beziehen sich auf die AndroidManifest.xml-Datei des Projekts:

  • ManifestOrder
  • UsesMinSdkAttributes
Eine Warnung bezieht sich auf die Preferences.xml-Layoutdatei: UnusedResources.

Eine Warnung bezieht sich auf das Verzeichnis res: IconMissingDensityFolder.

Lint so konfigurieren, dass Warnungen unterdrückt werden

Wenn Sie einen Lint-Scan ausführen, wird standardmäßig nach allen Problemen gesucht, die von Lint unterstützt werden. Außerdem können Sie die zu prüfenden Probleme einschränken und den Problemen Schweregrade zuweisen. Sie können beispielsweise die Lint-Prüfung für bestimmte Probleme unterdrücken, die für Ihr Projekt nicht relevant sind. Außerdem können Sie Lint so konfigurieren, dass nicht kritische Probleme mit einer niedrigeren Schwere gemeldet werden.

Die Schweregrade sind:

  • enable
  • disable oder ignore
  • informational
  • warning
  • error
  • fatal

Sie können die Lint-Prüfung für verschiedene Ebenen konfigurieren:

  • Global (gesamtes Projekt)
  • Projektmodul
  • Produktionsmodul
  • Testmodul
  • Dateien öffnen
  • Klassenhierarchie
  • Bereiche des Versionskontrollsystems (VCS)

Lint-Datei konfigurieren

Sie können Ihre Einstellungen für die Lint-Prüfung in der Datei lint.xml angeben. Wenn Sie diese Datei manuell erstellen, legen Sie sie im Stammverzeichnis Ihres Android-Projekts ab.

Die lint.xml-Datei besteht aus einem umschließenden <lint>-Übergeordneten-Tag, das ein oder mehrere untergeordnete <issue>-Elemente enthält. Lint definiert für jeden <issue> einen eindeutigen id-Attributwert:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- list of issues to configure -->
</lint>

Wenn Sie die Schwere eines Problems ändern oder die Lint-Prüfung für das Problem deaktivieren möchten, legen Sie das Attribut „severity“ im <issue>-Tag fest.

Tipp:Eine vollständige Liste der von Lint unterstützten Probleme und ihrer entsprechenden Problem-IDs erhalten Sie mit dem Befehl lint --list.

Beispiel für eine lint.xml-Datei

Das folgende Beispiel zeigt den Inhalt einer lint.xml-Datei:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the IconMissingDensityFolder check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />

    <!-- Ignore the ObsoleteLayoutParam issue in the specified files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
    </issue>

    <!-- Ignore the UselessLeaf issue in the specified file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>

    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" />
</lint>

Dieses Beispiel zeigt, wie verschiedene Arten von Problemen gemeldet werden. Die Prüfung IconMissingDensityFolder ist vollständig deaktiviert und die Prüfung ObsoleteLayoutParam ist nur in den Dateien deaktiviert, die in den beigefügten <ignore ... />-Erklärungen angegeben sind.

Linten-Prüfung für Kotlin-, Java- und XML-Quelldateien konfigurieren

Sie können die Lint-Prüfung für Ihre Kotlin-, Java- und XML-Quelldateien im Dialogfeld Einstellungen deaktivieren:

  1. Wählen Sie unter Windows File > Settings (Datei > Einstellungen) oder unter macOS oder Linux Android Studio > Preferences (Android Studio > Einstellungen) aus.
  2. Wählen Sie Bearbeiter > Prüfungen aus.
  3. Wenn Sie die Funktion deaktivieren möchten, heben Sie die Auswahl der entsprechenden Quelldatei auf.

Sie können sie entweder für die IDE oder für einzelne Projekte festlegen, indem Sie das entsprechende Profil auswählen.

Lint-Prüfung in Java oder Kotlin konfigurieren

Wenn Sie die Lint-Prüfung speziell für eine Klasse oder Methode in Ihrem Android-Projekt deaktivieren möchten, fügen Sie dem Code die @SuppressLint-Anmerkung hinzu.

Das folgende Beispiel zeigt, wie Sie die Lint-Prüfung für das NewApi-Problem in der onCreate-Methode deaktivieren. Das Lint-Tool sucht weiterhin in anderen Methoden dieser Klasse nach dem NewApi-Problem.

Kotlin

@SuppressLint("NewApi")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main)

Java

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

Das Gleiche gilt für alle Composables. Das folgende Code-Snippet zeigt, wie Sie NewApi-Prüfungen für beliebige Composables deaktivieren können.

Kotlin

  @SuppressLint("NewApi")
  @Composable
  fun MyComposable{
    ...
  }
  

Im folgenden Beispiel wird gezeigt, wie die Lint-Prüfung für das ParserError-Problem in der FeedProvider-Klasse deaktiviert wird:

Kotlin

@SuppressLint("ParserError")
class FeedProvider : ContentProvider() {

Java

@SuppressLint("ParserError")
public class FeedProvider extends ContentProvider {

Wenn Sie die Prüfung auf alle Lint-Probleme in der Datei unterdrücken möchten, verwenden Sie das Schlüsselwort all:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Mit derselben Anmerkung können Sie Lint-Prüfungen für jede zusammensetzbare Funktion unterdrücken.

Lint-Prüfung in XML konfigurieren

Mit dem Attribut tools:ignore können Sie die Lint-Prüfung für bestimmte Abschnitte Ihrer XML-Dateien deaktivieren. Fügen Sie den folgenden Namespacewert in die Datei lint.xml ein, damit das Lint-Tool das Attribut erkennt:

namespace xmlns:tools="http://schemas.android.com/tools"

Im folgenden Beispiel wird gezeigt, wie Sie die Lint-Prüfung für das UnusedResources-Problem in einem <LinearLayout>-Element einer XML-Layoutdatei deaktivieren. Das ignore-Attribut wird von den untergeordneten Elementen des übergeordneten Elements übernommen, in dem es deklariert ist. In diesem Beispiel ist die Lint-Prüfung auch für das untergeordnete Element <TextView> deaktiviert:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="UnusedResources" >

    <TextView
        android:text="@string/auto_update_prompt" />
</LinearLayout>

Wenn Sie mehrere Probleme deaktivieren möchten, listen Sie diese in einem durch Kommas getrennten String auf. Beispiel:

tools:ignore="NewApi,StringFormatInvalid"

Wenn Sie die Prüfung auf alle Lint-Probleme im XML-Element unterdrücken möchten, verwenden Sie das Keyword all:

tools:ignore="all"

Lint-Optionen mit Gradle konfigurieren

Mit dem Android Gradle-Plug-in können Sie bestimmte Lint-Optionen konfigurieren, z. B. welche Prüfungen ausgeführt oder ignoriert werden sollen. Verwenden Sie dazu den Block lint{} in der build.gradle-Datei auf Modulebene.

Das folgende Code-Snippet zeigt einige der konfigurierbaren Properties:

Kotlin

android {
    ...
    lint {
        // Turns off checks for the issue IDs you specify.
        disable += "TypographyFractions" + "TypographyQuotes"
        // Turns on checks for the issue IDs you specify. These checks are in
        // addition to the default lint checks.
        enable += "RtlHardcoded" + "RtlCompat" + "RtlEnabled"
        // To enable checks for only a subset of issue IDs and ignore all others,
        // list the issue IDs with the 'check' property instead. This property overrides
        // any issue IDs you enable or disable using the properties above.
        checkOnly += "NewApi" + "InlinedApi"
        // If set to true, turns off analysis progress reporting by lint.
        quiet = true
        // If set to true (default), stops the build if errors are found.
        abortOnError = false
        // If set to true, lint only reports errors.
        ignoreWarnings = true
        // If set to true, lint also checks all dependencies as part of its analysis.
        // Recommended for projects consisting of an app with library dependencies.
        checkDependencies = true
    }
}
...

Groovy

android {
    ...
    lint {
        // Turns off checks for the issue IDs you specify.
        disable 'TypographyFractions','TypographyQuotes'
        // Turns on checks for the issue IDs you specify. These checks are in
        // addition to the default lint checks.
        enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'
        // To enable checks for only a subset of issue IDs and ignore all others,
        // list the issue IDs with the 'check' property instead. This property overrides
        // any issue IDs you enable or disable using the properties above.
        checkOnly 'NewApi', 'InlinedApi'
        // If set to true, turns off analysis progress reporting by lint.
        quiet true
        // If set to true (default), stops the build if errors are found.
        abortOnError false
        // If set to true, lint only reports errors.
        ignoreWarnings true
        // If set to true, lint also checks all dependencies as part of its analysis.
        // Recommended for projects consisting of an app with library dependencies.
        checkDependencies true
    }
}
...

Alle Lint-Methoden, die den angegebenen Schweregrad eines Problems überschreiben, respektieren die Konfigurationsreihenfolge. Wenn Sie ein Problem beispielsweise in finalizeDsl() als fatal festlegen, wird die Deaktivierung im Haupt-DSL überschrieben.

Referenzwert für Warnungen erstellen

Sie können einen Snapshot der aktuellen Warnungen Ihres Projekts erstellen und ihn dann als Referenz für zukünftige Prüfungen verwenden, damit nur neue Probleme gemeldet werden. Mit dem Snapshot als Baseline können Sie Lint verwenden, um den Build zu beenden, ohne zuerst alle vorhandenen Probleme beheben zu müssen.

So erstellen Sie einen Baseline-Snapshot:build.gradle

Kotlin

android {
    lint {
        baseline = file("lint-baseline.xml")
    }
}

Groovy

android {
    lintOptions {
        baseline file("lint-baseline.xml")
    }
}

Wenn Sie diese Zeile zum ersten Mal hinzufügen, wird die lint-baseline.xml-Datei erstellt, um die Baseline festzulegen. Danach lesen die Tools die Datei nur noch, um die Baseline zu ermitteln. Wenn Sie eine neue Baseline erstellen möchten, löschen Sie die Datei manuell und führen Sie „lint“ noch einmal aus, um sie neu zu erstellen.

Führen Sie dann lint über die IDE aus, indem Sie Code > Code prüfen auswählen, oder über die Befehlszeile wie unten beschrieben. In der Ausgabe wird der Speicherort der lint-baseline.xml-Datei ausgegeben. Der Dateispeicherort für Ihre Einrichtung kann von dem hier gezeigten abweichen:

$ ./gradlew lintDebug -Dlint.baselines.continue=true
...
Wrote XML report to file:///app/lint-baseline.xml
Created baseline file /app/lint-baseline.xml

Wenn Sie lint ausführen, werden alle aktuellen Probleme in der Datei lint-baseline.xml protokolliert. Die aktuellen Probleme werden als Baseline bezeichnet. Sie können die Datei lint-baseline.xml in die Versionskontrolle aufnehmen, wenn Sie sie für andere freigeben möchten.

Baseline anpassen

Wenn Sie der Baseline nur bestimmte Problemtypen hinzufügen möchten, geben Sie die hinzuzufügenden Probleme an. Bearbeiten Sie dazu die Datei build.gradle Ihres Projekts so:

Kotlin

android {
    lint {
        checkOnly += "NewApi" + "HandlerLeak"
        baseline = file("lint-baseline.xml")
    }
}

Groovy

android {
    lintOptions {
        checkOnly 'NewApi', 'HandlerLeak'
        baseline file("lint-baseline.xml")
    }
}

Wenn Sie der Codebasis nach der Erstellung der Baseline neue Warnungen hinzufügen, werden in Lint nur die neu eingeführten Fehler aufgeführt.

Warnung zu ursprünglichen Daten

Wenn eine Baseline aktiv ist, erhalten Sie eine Benachrichtigung, dass eine oder mehrere Probleme herausgefiltert wurden, weil sie in der Baseline aufgeführt sind. Diese Warnung soll Sie daran erinnern, dass Sie eine Baseline konfiguriert haben und alle Probleme irgendwann beheben müssen.

Diese informative Warnung enthält auch Informationen zu Problemen, die nicht mehr gemeldet werden. Anhand dieser Informationen können Sie feststellen, ob Probleme tatsächlich behoben wurden. Sie können die Baseline optional neu erstellen, um zu verhindern, dass ein Fehler unbemerkt wieder auftritt.

Hinweis:Baselines werden aktiviert, wenn Sie Prüfungen im Batchmodus in der IDE ausführen. Sie werden jedoch für die Prüfungen im Editor ignoriert, die im Hintergrund ausgeführt werden, während Sie eine Datei bearbeiten. Das liegt daran, dass Baselines für den Fall gedacht sind, dass eine Codebasis eine große Anzahl vorhandener Warnungen enthält, Sie aber Probleme lokal beheben möchten, während Sie den Code bearbeiten.

Prüfungen manuell ausführen

Wenn Sie konfigurierte Lint- und andere IDE-Prüfungen manuell ausführen möchten, wählen Sie Code > Code prüfen aus. Die Ergebnisse der Prüfung werden im Fenster Prüfungsergebnisse angezeigt.

Prüfumfang und -profil festlegen

Wählen Sie die Dateien aus, die Sie analysieren möchten (Umfang der Prüfung), und die Prüfungen, die Sie ausführen möchten (Profil der Prüfung) so aus:

  1. Öffnen Sie in der Ansicht Android Ihr Projekt und wählen Sie das Projekt, den Ordner oder die Datei aus, die Sie analysieren möchten.
  2. Wählen Sie in der Menüleiste Code > Code prüfen aus.
  3. Überprüfen Sie im Dialogfeld Prüfumfang angeben die Einstellungen.

    Einstellungen für den Prüfumfang prüfen
    Abbildung 3 Prüfen Sie die Einstellungen für den Prüfumfang.

    Die Optionen, die im Dialogfeld Prüfumfang angeben angezeigt werden, variieren je nachdem, ob Sie ein Projekt, einen Ordner oder eine Datei ausgewählt haben:

    • Wenn Sie ein Projekt, eine Datei oder ein Verzeichnis auswählen, wird im Dialogfeld Prüfumfang angeben der Pfad zum ausgewählten Projekt, zur ausgewählten Datei oder zum ausgewählten Verzeichnis angezeigt.
    • Wenn Sie mehrere Projekte, Dateien oder Verzeichnisse auswählen, wird im Dialogfeld Prüfumfang angeben das Kästchen für Ausgewählte Dateien ausgewählt.

    Wenn Sie die Prüfung ändern möchten, wählen Sie eines der anderen Optionsfelder aus. Eine Beschreibung aller möglichen Felder im Dialogfeld Prüfumfang angeben finden Sie unter Dialogfeld „Prüfumfang angeben“.

  4. Wählen Sie unter Prüfprofil das gewünschte Profil aus.
  5. Klicken Sie auf OK, um die Prüfung auszuführen.

    Abbildung 4 zeigt die Ergebnisse der Lint- und anderen IDE-Prüfungen aus dem Code prüfen-Lauf:

    Wählen Sie ein Problem aus, um die Lösung zu sehen.
    Abbildung 4: Ergebnisse der Prüfung. Wählen Sie ein Problem aus, um die Lösung zu sehen.
  6. Maximieren Sie im Bereich Prüfungsergebnisse die Fehlerkategorien, -typen oder -probleme und wählen Sie sie aus, um die Prüfungsergebnisse aufzurufen.

    Im Bereich Prüfbericht wird der Prüfbericht für die im Bereich Prüfergebnisse ausgewählte Fehlerkategorie, den Fehlertyp oder das Problem angezeigt. Außerdem werden der Name und der Speicherort des Fehlers angezeigt. Gegebenenfalls enthält der Prüfbericht weitere Informationen, z. B. eine Problemübersicht, die Ihnen bei der Behebung des Problems helfen kann.

  7. Klicken Sie im Bereich Prüfergebnisse in der Baumansicht mit der rechten Maustaste auf eine Kategorie, einen Typ oder ein Problem, um das Kontextmenü aufzurufen.

    Je nach Kontext haben Sie folgende Möglichkeiten:

    • Zur Quelle springen.
    • Ausgewählte Elemente ausschließen und einschließen
    • Probleme unterdrücken
    • Bearbeiten Sie die Einstellungen.
    • Prüfbenachrichtigungen verwalten
    • Wiederholen Sie die Prüfung.

Beschreibungen der Symbolleistenschaltflächen, Kontextmenüelemente und Felder im Inspektionsbericht finden Sie im Hilfeartikel Toolfenster „Inspektionsergebnisse“.

Benutzerdefinierten Bereich verwenden

So verwenden Sie einen der benutzerdefinierten Bereiche in Android Studio:

  1. Wählen Sie im Dialogfeld Prüfumfang angeben die Option Benutzerdefinierter Umfang aus.
  2. Klicken Sie auf die Liste Benutzerdefinierter Umfang, um die Optionen aufzurufen:

    Prüfumfang auswählen
    Abbildung 5. Wählen Sie die benutzerdefinierte Ebene aus, die Sie verwenden möchten.
    • Alle Orte:Alle Dateien.
    • Projektdateien:Alle Dateien im aktuellen Projekt.
    • Projekt-Quelldateien:Nur die Quelldateien im aktuellen Projekt.
    • Produktionsdateien des Projekts:Nur die Produktionsdateien im aktuellen Projekt.
    • Projekttestdateien:Nur die Testdateien im aktuellen Projekt.
    • Scratches und Konsolen:Nur die Scratch-Dateien und Konsolen, die Sie im aktuellen Projekt geöffnet haben.
    • Zuletzt angesehene Dateien:Nur Dateien, die im aktuellen Projekt zuletzt angesehen wurden.
    • Aktuelle Datei:Nur die aktuelle Datei im aktuellen Projekt. Wird angezeigt, wenn eine Datei oder ein Ordner ausgewählt ist.
    • Ausgewähltes Verzeichnis:Nur der aktuelle Ordner im aktuellen Projekt. Wird angezeigt, wenn ein Ordner ausgewählt ist.
    • Klassenhierarchie:Wenn Sie diese Option auswählen und auf OK klicken, wird ein Dialogfeld mit allen Klassen im aktuellen Projekt angezeigt. Verwenden Sie im Dialogfeld das Feld Nach Name suchen, um die zu prüfenden Klassen zu filtern und auszuwählen. Wenn Sie die Kursliste nicht filtern, werden bei der Codeprüfung alle Kurse geprüft.
  3. Wenn Sie für das Projekt ein VCS konfiguriert haben, können Sie die Suche auch auf Dateien beschränken, die geändert wurden.

  4. Klicken Sie auf OK.

Benutzerdefinierten Umfang erstellen

Wenn Sie eine Auswahl von Dateien und Verzeichnissen prüfen möchten, die nicht durch einen der verfügbaren benutzerdefinierten Bereiche abgedeckt ist, können Sie einen benutzerdefinierten Bereich erstellen:

  1. Wählen Sie im Dialogfeld Prüfumfang angeben die Option Benutzerdefinierter Umfang aus.
  2. Klicken Sie auf das Dreipunkt-Menü neben der Liste Benutzerdefinierter Umfang.

    Dialogfeld „Prüfungsumfang angeben“
    Abbildung 6: Dialogfeld „Prüfumfang angeben“

    Das Dialogfeld Bereiche wird angezeigt.

    Benutzerdefinierten Umfang erstellen
    Abbildung 7. Erstellen Sie einen benutzerdefinierten Umfang.
  3. Klicken Sie links oben im Dialogfeld auf die Schaltfläche , um einen neuen Umfang zu definieren.
  4. Wählen Sie in der Liste Umfang hinzufügen die Option Lokal aus.

    Sowohl der lokale als auch der freigegebene Bereich werden im Projekt für die Funktion Code prüfen verwendet. Der Bereich Gemeinsam kann auch für andere Projektfunktionen verwendet werden, die ein Feld für den Bereich haben. Wenn Sie beispielsweise auf Einstellungen bearbeiten klicken, um die Einstellungen für Nutzungen suchen zu ändern, enthält das sich öffnende Dialogfeld ein Feld Umfang, in dem Sie einen gemeinsamen Umfang auswählen können.

    Im Dialogfeld „Nutzungen suchen“ einen freigegebenen Bereich auswählen
    Abbildung 8: Wählen Sie im Dialogfeld Nutzungen suchen einen freigegebenen Umfang aus.
  5. Geben Sie einen Namen für den Umfang ein und klicken Sie auf OK.

    Im rechten Bereich des Dialogfelds Bereiche werden Optionen angezeigt, mit denen Sie den benutzerdefinierten Bereich definieren können.

  6. Wählen Sie in der Liste Projekt aus.

    Daraufhin wird eine Liste der verfügbaren Projekte angezeigt.

    Hinweis:Sie können den benutzerdefinierten Bereich für Projekte oder Pakete erstellen. Die Schritte sind dieselben.

  7. Maximieren Sie die Projektordner, wählen Sie aus, was Sie dem benutzerdefinierten Bereich hinzufügen möchten, und legen Sie fest, ob es ein- oder ausgeschlossen werden soll.

    Benutzerdefinierten Bereich definieren
    Abbildung 9. Benutzerdefinierten Umfang definieren.
    • Einschließen: Dieser Ordner und seine Dateien werden eingeschlossen, aber keine Unterordner.
    • Rekursiv einschließen: Dieser Ordner und seine Dateien sowie seine Unterordner und ihre Dateien werden eingeschlossen.
    • Ausschließen: Dieser Ordner und seine Dateien werden ausgeschlossen, aber keine Unterordner.
    • Rekursiv ausschließen: Dieser Ordner und seine Dateien sowie seine Unterordner und ihre Dateien werden ausgeschlossen.

    Abbildung 10 zeigt, dass der Ordner main enthalten ist und dass die Ordner java und res rekursiv eingeschlossen sind. Blau steht für einen teilweise eingeschlossenen Ordner und Grün für rekursiv eingeschlossene Ordner und Dateien.

    Beispielmuster für einen benutzerdefinierten Umfang
    Abbildung 10. Beispiel für ein Muster für einen benutzerdefinierten Umfang.
    • Wenn Sie den Ordner java auswählen und auf Rekursiv ausschließen klicken, wird die grüne Markierung für den Ordner java und alle darin enthaltenen Ordner und Dateien aufgehoben.
    • Wenn Sie die grün hervorgehobene Datei MainActivity.kt auswählen und auf Ausschließen klicken, wird MainActivity.kt nicht mehr grün hervorgehoben, alle anderen Dateien im Ordner java jedoch schon.
  8. Klicken Sie auf OK. Der benutzerdefinierte Umfang wird unten in der Liste angezeigt.

Prüfprofile prüfen und bearbeiten

Android Studio bietet eine Auswahl an Lint- und anderen Prüfprofilen, die über Android-Updates aktualisiert werden. Sie können diese Profile unverändert verwenden oder ihre Namen, Beschreibungen, Schweregrade und Gültigkeitsbereiche bearbeiten. Sie können auch ganze Profile oder einzelne Profile innerhalb einer Gruppe aktivieren und deaktivieren.

So greifen Sie auf die Einstellungen für Prüfungen zu:

  1. Wählen Sie Datei > Einstellungen aus. (unter Windows) oder Android Studio > Einstellungen (unter macOS oder Linux).
  2. Wählen Sie Bearbeiter > Prüfungen aus.
  3. Im Bereich Prüfungen wird eine Liste der unterstützten Prüfungen und deren Beschreibungen angezeigt.

    Unterstützte Prüfungen und ihre Beschreibungen
    Abbildung 11. Unterstützte Prüfungen und ihre Beschreibungen.
  4. Wählen Sie die Liste Profil aus, um zwischen den Prüfungen Standard (Android Studio) und Projektstandard (das aktive Projekt) zu wechseln.

    Weitere Informationen finden Sie auf der IntelliJ-Seite Profile verwalten.

  5. Wählen Sie im linken Bereich in der Liste Prüfungen eine Profilkategorie der obersten Ebene aus oder maximieren Sie eine Gruppe und wählen Sie ein bestimmtes Profil aus.

    Wenn Sie eine Profilkategorie auswählen, können Sie alle Prüfungen in dieser Kategorie als einzelne Prüfung bearbeiten.

  6. Wählen Sie die Liste Schemaaktionen für Sendungen Schemaaktionen-Symbol anzeigen aus, um Prüfungen zu kopieren, umzubenennen, Beschreibungen hinzuzufügen, zu exportieren und zu importieren.
  7. Klicken Sie auf OK, wenn Sie fertig sind.