Code mit lint-Prüfungen verbessern

Neben Tests erstellen, mit denen die Funktionsanforderungen der App erfüllt werden, ist es wichtig, dass Sie den Code auch über das Lint-Tool ausführen, damit er keine strukturellen Probleme aufweist. Das Lint-Tool hilft Ihnen, schlecht strukturierten Code zu finden, der die Zuverlässigkeit und Effizienz Ihrer Android-Apps beeinträchtigen und die Pflege des Codes erschweren kann. Es wird dringend empfohlen, alle Fehler zu beheben, die Lint erkennt, bevor Sie die Anwendung veröffentlichen.

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

Um die Linting-Leistung zu verbessern, können Sie Ihrem Code auch Annotationen hinzufügen.

Übersicht

In Android Studio gibt es ein Code-Scan-Tool namens Lint, mit dem du Probleme mit der strukturellen Qualität deines Codes erkennen und beheben kannst, ohne die App ausführen oder Testläufe schreiben zu müssen. Jedes vom Tool erkannte Problem wird mit einer Beschreibungsmeldung und einem Schweregrad gemeldet, damit Sie die erforderlichen wichtigen Verbesserungen priorisieren können. Sie können auch den Schweregrad eines Problems 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 optimiert Verbesserungen in Bezug auf Richtigkeit, Sicherheit, Leistung, Nutzerfreundlichkeit, Zugänglichkeit und Internationalisierung. Wenn Sie Android Studio verwenden, werden konfigurierte Lint- und IDE-Prüfungen beim Erstellen Ihrer App ausgeführt. Sie können jedoch Inspektionen 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. Es gibt zwei Möglichkeiten, Warnungen und Fehler aufzurufen:

  • Als Pop-up-Text im Editorfenster. Wenn Lint ein Problem findet, wird der problematische Code gelb hervorgehoben. Bei schwerwiegenderen Problemen wird der Code rot unterstrichen.
  • Klicken Sie im Lint-Fenster Inspection Results (Prüfungsergebnisse) auf Code > Inspect Code (Code > Code prüfen).

Hinweis:Wenn Ihr Code in Android Studio kompiliert wurde, werden zusätzliche IntelliJ-Code-Prüfungen ausgeführt, um die Codeüberprüfung zu optimieren.

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

Workflow zum Codescannen mit dem Lint-Tool
Abbildung 1: Workflow zum Codescannen mit dem Lint-Tool.
App-Quelldateien
Die Quelldateien bestehen aus Dateien, aus denen dein Android-Projekt besteht, darunter Kotlin-, Java- und XML-Dateien, Symbole und ProGuard-Konfigurationsdateien.
Die Datei lint.xml
Eine Konfigurationsdatei, mit der Sie alle Lint-Prüfungen angeben können, die Sie ausschließen möchten, und die Schweregrade von Problemen anpassen können.
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 Probleme mit dem Strukturcode, die die Qualität und Leistung Ihrer Android-App beeinträchtigen können.
.
Ergebnisse der Lint-Prüfung
Sie können die Ergebnisse von Lint entweder in der Console oder im Fenster Prüfungsergebnisse in Android Studio ansehen. Wenn Sie lint über die Befehlszeile ausführen, werden die Ergebnisse in den Ordner build/ geschrieben. Weitere Informationen finden Sie im Abschnitt zum manuellen Ausführen von Inspektionen.

Lint über die Befehlszeile ausführen

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

  • 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, gibt es Pfade zu den XML- und HTML-Versionen des Lint-Berichts zurück. Anschließend können Sie 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 Varianten erstellen enthält, prüft Lint nur die Standardvariante. Wenn Sie Lint für eine andere Variante ausführen möchten, müssen Sie den Namen der Variante großschreiben und das Präfix lint voranstellen.

./gradlew lintRelease

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

Lint mit dem eigenständigen Tool ausführen

Wenn Sie Android Studio oder Gradle nicht verwenden, installieren Sie die Android SDK-Befehlszeilentools, um das eigenständige Lint-Tool zu verwenden. 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 eine Fehlermeldung ausgegeben. Sie sollten immer gradle lint (unter Windows) oder ./gradlew lint (unter macOS oder Linux) verwenden, um Lint für ein Gradle-Projekt auszuführen.

Verwenden Sie den folgenden Befehl, um Lint für eine Liste von Dateien in einem Projektverzeichnis auszuführen:

lint [flags] <project directory>

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

lint --check MissingPrefix myproject 

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

lint --help

Das folgende Beispiel zeigt die Konsolenausgabe, wenn der Lint-Befehl 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 listet vier Warnungen und keine Fehler auf.

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

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

Eine Warnung bezieht sich auf das Verzeichnis res: IconMissingDensityFolder.

Lint konfigurieren, um Warnungen zu unterdrücken

Wenn Sie einen Lint-Scan ausführen, prüft das Tool standardmäßig alle Probleme, die von Lint unterstützt werden. Sie können auch die Probleme einschränken, die mit Lint geprüft werden sollen, und Schweregraden für Probleme zuweisen. Sie können beispielsweise die Lint-Prüfung für bestimmte Probleme unterdrücken, die für Ihr Projekt nicht relevant sind, und Lint so konfigurieren, dass nicht kritische Probleme mit einem niedrigeren Schweregrad 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
  • Modul testen
  • Dateien öffnen
  • Klassenhierarchie
  • VCS-Bereiche (Version Control System)

Lint-Datei konfigurieren

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

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

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

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

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

lint.xml-Beispieldatei

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 Problemtypen gemeldet werden. Die IconMissingDensityFolder-Prüfung ist vollständig deaktiviert und die ObsoleteLayoutParam-Prüfung ist nur in den Dateien deaktiviert, die in den beigefügten <ignore ... />-Deklarationen angegeben sind.

Lint-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 Datei > Einstellungen (unter Windows) oder Android Studio > Einstellungen (unter macOS oder Linux) aus.
  2. Wählen Sie Editor > Inspektionen aus.
  3. Heben Sie zum Deaktivieren die Auswahl der entsprechenden Quelldatei auf.

Sie können diese 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 diesem Code die Annotation @SuppressLint hinzu.

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

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);

Dasselbe ist mit jeder zusammensetzbaren Funktion möglich. Das folgende Code-Snippet zeigt, wie Sie NewApi-Prüfungen für jede zusammensetzbare Funktion deaktivieren können.

Kotlin

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

Das folgende Beispiel zeigt, wie Sie die Lint-Prüfung für das Problem ParserError in der Klasse FeedProvider deaktivieren:

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")

Sie können dieselbe Annotation verwenden, um Lint-Prüfungen für jede zusammensetzbare Funktion zu 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 Namespace-Wert in die Datei lint.xml ein, damit das Lint-Tool das Attribut erkennt:

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

Das folgende Beispiel zeigt, wie Sie die Lint-Prüfung für das Problem UnusedResources in einem <LinearLayout>-Element einer XML-Layoutdatei deaktivieren können. Das Attribut ignore wird von den untergeordneten Elementen des übergeordneten Elements übernommen, in dem das Attribut deklariert ist. In diesem Beispiel ist die Lint-Prüfung auch für das untergeordnete <TextView>-Element 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 du mehrere Probleme deaktivieren möchtest, gib die zu deaktivierenden Probleme in einem durch Kommas getrennten String an. Beispiel:

tools:ignore="NewApi,StringFormatInvalid"

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

tools:ignore="all"

Lint-Optionen mit Gradle konfigurieren

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

Das folgende Code-Snippet zeigt einige der Attribute, die konfiguriert werden können:

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
    }
}
...

Groovig

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
    }
}
...

Bei allen Lint-Methoden, die den angegebenen Schweregrad eines Problems überschreiben, wird die Reihenfolge der Konfiguration berücksichtigt. Wenn Sie beispielsweise ein Problem in finalizeDsl() als schwerwiegend festlegen, wird seine Deaktivierung in der Haupt-DSL überschrieben.

Baseline für Warnungen erstellen

Sie können einen Snapshot der aktuellen Warnungen Ihres Projekts erstellen und diesen dann als Referenz für zukünftige Inspektionsläufe verwenden, damit nur neue Probleme gemeldet werden. Im Referenz-Snapshot können Sie Lint verwenden, um den Build-Fehler zu beheben, ohne zuerst alle vorhandenen Probleme beheben zu müssen.

Ändern Sie die Datei build.gradle Ihres Projekts so, um einen Referenz-Snapshot zu erstellen:

Kotlin

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

Groovig

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

Wenn Sie diese Zeile zum ersten Mal hinzufügen, wird die Datei lint-baseline.xml erstellt, um Ihre Referenz zu definieren. Ab diesem Zeitpunkt lesen die Tools die Datei nur noch, um die Basislinie zu bestimmen. Wenn Sie eine neue Referenz 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 in der IDE aus, indem Sie Code > Code prüfen oder über die Befehlszeile ausführen. Die Ausgabe gibt den Speicherort der Datei lint-baseline.xml aus. 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 aufgezeichnet. Diese Gruppe von aktuellen Problemen wird als Baseline bezeichnet. Sie können die Datei lint-baseline.xml in die Versionsverwaltung einchecken, wenn Sie sie für andere freigeben möchten.

Baseline anpassen

Wenn Sie der Referenz 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")
    }
}

Groovig

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

Wenn Sie der Codebasis nach dem Erstellen der Referenz neue Warnungen hinzufügen, werden in Lint nur die neu aufgetretenen Fehler aufgeführt.

Ursprüngliche Warnung

Wenn eine Baseline gilt, erhalten Sie eine Informationswarnung, die Sie darüber informiert, dass ein oder mehrere Probleme herausgefiltert wurden, da sie in der Baseline aufgeführt sind. Mit dieser Warnung denken Sie daran, dass Sie eine Referenz konfiguriert haben und dass Sie alle Probleme irgendwann beheben müssen.

Mit dieser Informationswarnung werden auch Probleme erfasst, die nicht mehr gemeldet werden. Anhand dieser Informationen können Sie erkennen, ob die Probleme tatsächlich behoben wurden. Optional können Sie die Referenz neu erstellen, damit ein Fehler nicht unentdeckt zurückgegeben wird.

Hinweis:Referenzwerte werden aktiviert, wenn Sie in der IDE Inspektionen im Batchmodus ausführen. Bei Prüfungen im Editor, die beim Bearbeiten einer Datei im Hintergrund ausgeführt werden, werden sie jedoch ignoriert. Dies liegt daran, dass Baselines für den Fall gedacht sind, dass eine Codebasis viele Warnungen enthält, Sie aber Probleme lokal beheben möchten, während Sie den Code berühren.

Inspektionen manuell ausführen

Wählen Sie Code > Code prüfen aus, um konfigurierte Lint- und andere IDE-Prüfungen manuell auszuführen. Die Ergebnisse der Prüfung werden im Fenster Untersuchungsergebnisse angezeigt.

Inspektionsbereich und Profil festlegen

Wählen Sie die Dateien, die Sie analysieren möchten (Inspektions-Bereich), und die auszuführenden Prüfungen (Inspektions-Profil) 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 > Inspect Code (Code > Code prüfen) aus.
  3. Prüfen Sie im Dialogfeld Inspektionsumfang angeben die Einstellungen.

    Prüfungsumfang angeben
    Abbildung 3: Prüfen Sie die Einstellungen für den Inspektionsbereich.

    Welche Optionen im Dialogfeld Inspektionsumfang angeben angezeigt werden, hängt davon ab, 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 Inspektionsbereich angeben der Pfad zum ausgewählten Projekt, zur Datei oder zum Verzeichnis angezeigt.
    • Wenn Sie mehr als ein Projekt, eine Datei oder ein Verzeichnis auswählen, wird im Dialogfeld Inspektionsbereich angeben das Optionsfeld Ausgewählte Dateien angezeigt.

    Wenn Sie ändern möchten, was geprüft werden soll, wählen Sie eines der anderen Optionsfelder aus. Eine Beschreibung aller möglichen Felder im Dialogfeld Prüfungsumfang angeben finden Sie unter Dialogfeld „Prüfungsbereich angeben“.

  4. Wählen Sie unter Prüfungsprofil das Profil aus, das Sie verwenden möchten.
  5. Klicken Sie auf OK, um die Prüfung auszuführen.

    Abbildung 4 zeigt Lint- und andere IDE-Prüfungsergebnisse aus der Ausführung von Code prüfen:

    Wählen Sie ein Problem aus, um zu sehen, wie es behoben wird.
    Abbildung 4: Ergebnisse der Prüfung. Wählen Sie ein Problem aus, um die Lösung zu sehen.
  6. Sehen Sie sich im Bereich Inspektionsergebnisse die Inspektionsergebnisse an. Maximieren Sie dazu die Fehlerkategorien, -typen oder -probleme und wählen Sie sie aus.

    Im Bereich Prüfbericht wird der Inspektionsbericht für die im Bereich Inspektionsergebnisse ausgewählte Fehlerkategorie, -typ oder -problem angezeigt. Außerdem werden der Name und der Ort des Fehlers angezeigt. Der Inspektionsbericht enthält gegebenenfalls weitere Informationen, z. B. eine Zusammenfassung des Problems, die Ihnen bei der Problembehebung helfen sollen.

  7. Klicken Sie in der Baumansicht des Bereichs Prüfergebnisse 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.
    • Inspektionsbenachrichtigungen verwalten.
    • Führen Sie eine Prüfung noch einmal aus.

Beschreibungen der Symbolleistenschaltflächen, Kontextmenüelemente und Felder des Inspektionsberichts finden Sie unter Fenster „Prüftool“.

Benutzerdefinierten Bereich verwenden

Verwenden Sie einen der in Android Studio bereitgestellten benutzerdefinierten Bereiche:

  1. Wählen Sie im Dialogfeld Inspektionsumfang angeben die Option Benutzerdefinierter Bereich aus.
  2. Klicken Sie auf die Liste Benutzerdefinierter Geltungsbereich, um die Optionen aufzurufen:

    Prüfungsumfang auswählen
    Abbildung 5: Wählen Sie den benutzerdefinierten Bereich aus, den Sie verwenden möchten.
    • Alle Orte:Alle Dateien.
    • Projektdateien:Alle Dateien im aktuellen Projekt.
    • Projektquelldateien:Nur die Quelldateien im aktuellen Projekt.
    • Projektproduktionsdateien: Nur die Produktionsdateien im aktuellen Projekt.
    • Projekttestdateien:Nur die Testdateien im aktuellen Projekt.
    • Scratches und Konsolen: Nur die Scratch-Dateien und Konsolen, die im aktuellen Projekt geöffnet sind.
    • Zuletzt aufgerufene Dateien:Hier sehen Sie nur die Dateien, die Sie sich zuletzt im aktuellen Projekt angesehen haben.
    • Aktuelle Datei:Nur die aktuelle Datei im aktuellen Projekt. Wird angezeigt, wenn Sie eine Datei oder einen Ordner ausgewählt haben.
    • Ausgewähltes Verzeichnis:Nur der aktuelle Ordner im aktuellen Projekt. Wird angezeigt, wenn Sie einen Ordner ausgewählt haben.
    • 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 Suche nach Name, um die zu prüfenden Klassen zu filtern und auszuwählen. Wenn Sie die Klassenliste nicht filtern, werden bei der Codeprüfung alle Klassen überprüft.

    Wenn Sie für das Projekt eine VCS-Ressource konfiguriert haben, können Sie die Suche auch auf Dateien beschränken, die geändert wurden.

  3. Klicken Sie auf OK.

Benutzerdefinierten Bereich erstellen

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

  1. Wählen Sie im Dialogfeld Inspektionsumfang angeben die Option Benutzerdefinierter Bereich aus.
  2. Klicken Sie nach der Liste Benutzerdefinierter Bereich auf das Dreipunkt-Menü.

    Dialogfeld „Prüfungsbereich angeben“
    Abbildung 6: Dialogfeld „Prüfungsbereich angeben“.

    Das Dialogfeld Bereiche wird angezeigt.

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

    Sowohl der lokale als auch der freigegebene Bereich werden innerhalb des Projekts für die Funktion Code prüfen verwendet. Ein Bereich Freigegeben kann auch mit anderen Projektfunktionen verwendet werden, die ein Bereichsfeld haben. Wenn Sie beispielsweise auf Einstellungen bearbeiten klicken, um die Einstellungen für Nutzungen suchen zu ändern, enthält das resultierende Dialogfeld das Feld Bereich, in dem Sie einen freigegebenen Bereich auswählen können.

    Wählen Sie im Dialogfeld „Nutzungen suchen“ einen freigegebenen Bereich aus
    Abbildung 8. Wählen Sie im Dialogfeld Nutzungen suchen einen freigegebenen Bereich aus.
  5. Geben Sie dem Bereich einen Namen und klicken Sie auf OK.

    Der rechte Bereich des Dialogfelds Bereiche enthält Optionen, mit denen Sie den benutzerdefinierten Bereich definieren können.

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

    Eine Liste der verfügbaren Projekte wird angezeigt.

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

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

    Benutzerdefinierten Bereich definieren
    Abbildung 9. Legen Sie einen benutzerdefinierten Bereich fest.
    • Einschließen: schließt diesen Ordner und die zugehörigen Dateien ein, aber keine Unterordner.
    • Rekursiv einschließen: Dieser Ordner und die darin enthaltenen Dateien sowie die Unterordner und deren Dateien werden einbezogen.
    • Ausschließen: Dieser Ordner und die zugehörigen Dateien werden ausgeschlossen, aber keine Unterordner.
    • Rekursiv ausschließen: Der Ordner und die zugehörigen Dateien sowie die zugehörigen Unterordner und Dateien werden ausgeschlossen.

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

    Beispielmuster für einen benutzerdefinierten Bereich
    Abbildung 10. Beispielmuster für einen benutzerdefinierten Bereich.
    • Wenn Sie den Ordner java auswählen und auf Rekursiv ausschließen klicken, verschwindet die grüne Markierung für den Ordner java und alle darunter befindlichen Ordner und Dateien.
    • Wenn Sie die grün hervorgehobene Datei MainActivity.kt auswählen und auf Ausschließen klicken, ist MainActivity.kt nicht mehr grün markiert, aber alle anderen Elemente im Ordner java bleiben grün.
  8. Klicke auf OK. Der benutzerdefinierte Bereich wird am Ende der Liste angezeigt.

Inspektionsprofile prüfen und bearbeiten

In Android Studio gibt es eine Auswahl von Lint- und anderen Prüfungsprofilen, die über Android-Updates aktualisiert werden. Sie können diese Profile unverändert verwenden oder ihre Namen, Beschreibungen, Schweregrade und Bereiche bearbeiten. Sie können auch ganze Gruppen von Profilen 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 Editor > Inspektionen aus.
  3. Im Bereich Prüfungen wird eine Liste der unterstützten Prüfungen und ihrer Beschreibungen angezeigt.

    Unterstützte Prüfungen und ihre Beschreibungen
    Abbildung 11. Unterstützte Inspektionen und ihre Beschreibungen.
  4. Wählen Sie die Liste Profil aus, um zwischen der Prüfung Standard (Android Studio) und Projektstandard (dem aktiven 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 eine Prüfung bearbeiten.

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