Code mit lint-Prüfungen verbessern

Zusätzlich zum Erstellen von Tests, mit dem Sie prüfen können, ob Ihre Anwendung die funktionalen Anforderungen erfüllt, ist es wichtig, dass Sie den Code auch über das Lint-Tool ausführen, damit Ihr Code keine strukturellen Probleme aufweist. Das Lint-Tool hilft bei der Suche nach schlecht strukturiertem Code, der die Zuverlässigkeit und Effizienz Ihrer Android-Apps beeinträchtigen und die Wartung Ihres Codes erschweren kann. Wir empfehlen Ihnen dringend, alle Fehler zu beheben, die durch Lint gefunden werden, bevor Sie Ihre Anwendung veröffentlichen.

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

Zur Verbesserung der Linting-Leistung können Sie auch dem Code Annotationen hinzufügen.

Übersicht

Android Studio bietet ein Codescantool namens lint, mit dem Sie Probleme mit der strukturellen Qualität Ihres Codes erkennen und beheben können, ohne die App ausführen oder Testfälle schreiben zu müssen. Jedes vom Tool erkannte Problem wird mit einer Beschreibung und einem Schweregrad gemeldet, damit Sie die erforderlichen Verbesserungen priorisieren können. Sie können auch den Schweregrad eines Problems verringern, 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 Ihre Android-Projektquelldateien auf potenzielle Fehler und Optimierungsverbesserungen auf Richtigkeit, Sicherheit, Leistung, Nutzerfreundlichkeit, Barrierefreiheit und Internationalisierung. Wenn Sie Android Studio verwenden, werden konfigurierte Lint- und IDE-Prüfungen beim Erstellen Ihrer App ausgeführt. Sie können jedoch Prüfungen manuell 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 anzeigen zu lassen:

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

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

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

Codescan-Workflow mit dem Lint-Tool.
Abbildung 1. Codescan-Workflow mit dem Lint-Tool.
App-Quelldateien
Die Quelldateien bestehen aus Dateien, aus denen Ihr Android-Projekt besteht, einschließlich Kotlin-, Java- und XML-Dateien, Symbolen und ProGuard-Konfigurationsdateien.
Die Datei lint.xml
Eine Konfigurationsdatei, mit der Sie Lint-Prüfungen angeben können, die Sie ausschließen möchten, und die Schweregrade von Problemen anpassen.
Lint-Tool
Ein Tool zum Scannen von statischem Code, das Sie entweder über die Befehlszeile oder in Android Studio in Ihrem Android-Projekt ausführen können. Das Lint-Tool prüft auf Probleme mit 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 Inspektionsergebnisse 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 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 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 die Prüfungen abgeschlossen hat, stellt es Pfade zu den XML- und HTML-Versionen des Lint-Berichts bereit. Sie können dann den HTML-Bericht aufrufen und in Ihrem Browser öffnen, wie in Abbildung 2 gezeigt.

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

Wenn Ihr Projekt Build-Varianten enthält, wird mit Lint nur die Standardvariante geprüft. Wenn Sie Lint für eine andere Variante ausführen möchten, müssen Sie den Variantennamen großschreiben und ihm 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, erhalten Sie eine Fehlermeldung. Sie sollten immer gradle lint (unter Windows) oder ./gradlew lint (unter macOS oder Linux) verwenden, um Lint in einem 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 seinen 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 Flags und Befehlszeilenargumente abrufen, die vom Tool unterstützt werden:

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 enthält vier Warnungen, jedoch keine Fehler.

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 zum Unterdrücken von Warnungen konfigurieren

Wenn Sie einen Lint-Scan ausführen, sucht das Tool standardmäßig nach allen Problemen, die Lint unterstützen. Sie können auch die zu prüfenden Probleme mit Lint einschränken und Schweregrade zuweisen. Sie können z. B. die Lint-Überprüfung auf 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 Lint-Prüfungen 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 Lint-Prüfungen 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 einen eindeutigen id-Attributwert für jede <issue>:

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

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

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

Beispiel für 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>

In diesem Beispiel sehen Sie, wie verschiedene Problemtypen gemeldet werden. Die IconMissingDensityFolder-Prüfung ist vollständig und die ObsoleteLayoutParam-Prüfung 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. Zum Deaktivieren heben Sie die Auswahl der entsprechenden Quelldatei auf.

Sie können diese entweder für die IDE oder für einzelne Projekte festlegen. Wählen Sie dazu das entsprechende Profil aus.

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 auf das Problem NewApi in der Methode onCreate deaktivieren können. Das Lint-Tool sucht in anderen Methoden dieser Klasse weiterhin 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 kann auf jedem Composable erreicht werden. Das folgende Code-Snippet zeigt, wie du die NewApi-Prüfungen für jedes Composable deaktivieren kannst.

Kotlin

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

Das folgende Beispiel zeigt, wie Sie die Lint-Prüfung auf 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 Suche 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 Sie mehrere Probleme deaktivieren möchten, geben Sie 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 kannst du 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 Eigenschaften, die Sie konfigurieren 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
    }
}
...

Cool

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, berücksichtigen die Reihenfolge der Konfiguration. Wenn Sie beispielsweise ein Problem in finalizeDsl() als schwerwiegend festlegen, wird es in der Haupt-DSL deaktiviert.

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 Inspektionsausführungen verwenden, sodass nur neue Probleme gemeldet werden. Mithilfe des Referenz-Snapshots können Sie Lint verwenden, um den Build fehlschlagen zu lassen, ohne zuerst alle vorhandenen Probleme beheben zu müssen.

So ändern Sie die Datei build.gradle Ihres Projekts, um einen Basis-Snapshot zu erstellen:

Kotlin

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

Cool

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

Wenn Sie diese Zeile zum ersten Mal einfügen, wird die Datei lint-baseline.xml als Basislinie erstellt. Ab dann lesen die Tools die Datei nur noch, um die Basislinie zu ermitteln. 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 auswählen, oder gehen Sie in der Befehlszeile so vor: 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. Die Menge der aktuellen Probleme 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 nur bestimmte Problemtypen zur Baseline hinzufügen möchten, geben Sie die hinzuzufügenden Probleme an. Bearbeiten Sie dazu die build.gradle-Datei Ihres Projekts so:

Kotlin

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

Cool

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

Wenn Sie der Codebasis neue Warnungen hinzufügen, nachdem Sie die Referenz erstellt haben, listet Lint nur die neu eingeführten Fehler auf.

Ursprüngliche Warnung

Wenn eine Baseline gilt, erhalten Sie eine Informationswarnung, in der Sie darüber informiert werden, dass ein oder mehrere Probleme herausgefiltert wurden, weil sie in der Baseline aufgeführt sind. Diese Warnung hilft Ihnen dabei, sich daran zu erinnern, dass Sie eine Referenz konfiguriert haben und dass Sie irgendwann alle Probleme beheben müssen.

In dieser Information werden auch Probleme aufgeführt, die nicht mehr gemeldet werden. Anhand dieser Informationen können Sie feststellen, ob Sie tatsächlich Probleme behoben haben, sodass Sie optional die Referenz neu erstellen können, um zu verhindern, dass ein Fehler unentdeckt zurückgegeben wird.

Hinweis:Referenzen sind aktiviert, wenn Sie in der IDE Prüfungen im Batchmodus ausführen. Sie werden jedoch bei Prüfungen im Editor ignoriert, die beim Bearbeiten einer Datei im Hintergrund ausgeführt werden. Der Grund dafür ist, dass Referenzen für den Fall gedacht sind, dass für eine Codebasis viele Warnungen vorhanden sind, Sie aber Probleme lokal beheben möchten, während Sie auf den Code tippen.

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 Prüfungsergebnisse angezeigt.

Umfang und Profil der Inspektion festlegen

Wählen Sie die zu analysierenden Dateien (den Inspektionsbereich) und die auszuführenden Prüfungen (das Inspektionsprofil) aus:

  1. Öffnen Sie Ihr Projekt in der Android-Ansicht 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. Prüfen Sie im Dialogfeld Inspektionsumfang festlegen die Einstellungen.

    Prüfungsumfang angeben
    Abbildung 3: Prüfen Sie die Einstellungen für den Umfang der Prüfung.

    Welche Optionen im Dialogfeld Prüfungsumfang 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 Prüfungsumfang angeben der Pfad zum ausgewählten Projekt, zur Datei oder zum ausgewählten Verzeichnis angezeigt.
    • Wenn Sie mehr als ein Projekt, eine Datei oder ein Verzeichnis auswählen, wird im Dialogfeld Inspektionsumfang angeben ein Optionsfeld für 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 Prüfungsumfang 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 der Ausführung Code prüfen:

    Wählen Sie ein Problem aus, um sich seine Lösung anzeigen zu lassen.
    Abbildung 4: Ergebnisse der Überprüfung. Wählen Sie ein Problem aus, um die Lösung zu sehen.
  6. Maximieren Sie im Bereich Inspektionsergebnisse die Inspektionsergebnisse und wählen Sie Fehlerkategorien, Typen oder Probleme aus.

    Im Bereich Inspektionsbericht wird der Inspektionsbericht für die Fehlerkategorie, den Typ oder das Problem angezeigt, die im Bereich Inspektionsergebnisse ausgewählt wurde. Außerdem werden der Name und der Ort des Fehlers angezeigt. Gegebenenfalls enthält der Inspektionsbericht weitere Informationen (z. B. eine Zusammenfassung des Problems), mit denen Sie das Problem beheben können.

  7. Klicken Sie in der Baumansicht des Bereichs Prüfungsergebnisse mit der rechten Maustaste auf eine Kategorie, einen Typ oder ein Problem, um das Kontextmenü anzuzeigen.

    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.
    • Inspektion noch einmal ausführen

Beschreibungen der Schaltflächen der Symbolleiste, Kontextmenüelemente und Felder des Prüfberichts finden Sie im Fenster des Tools für Inspektionsergebnisse.

Benutzerdefinierten Umfang verwenden

So verwenden Sie einen der in Android Studio bereitgestellten benutzerdefinierten Bereiche:

  1. Wählen Sie im Dialogfeld Prüfungsumfang festlegen die Option Benutzerdefinierter Umfang aus.
  2. Klicken Sie auf die Liste Benutzerdefinierter Umfang, um die Optionen anzuzeigen:

    Prüfungsumfang auswählen
    Abbildung 5. Wählen Sie den gewünschten benutzerdefinierten Umfang aus.
    • Alle Orte:Alle Dateien.
    • Projektdateien:Alle Dateien im aktuellen Projekt.
    • Projektquelldateien:Nur die Quelldateien im aktuellen Projekt.
    • Projektproduktionsdateien:Nur die Vorgangsdateien 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 angesehene Dateien:Nur kürzlich aufgerufene Dateien im aktuellen Projekt.
    • 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, prüft die Codeprüfung alle Klassen.

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

  3. Klicken Sie auf OK.

Benutzerdefinierten Umfang erstellen

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

  1. Wählen Sie im Dialogfeld Prüfungsumfang festlegen die Option Benutzerdefinierter Umfang aus.
  2. Klicken Sie auf die drei Punkte nach der Liste Benutzerdefinierter Umfang.

    Dialogfeld „Prüfungsumfang angeben“
    Abbildung 6. Dialogfeld „Prüfungsumfang 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 Bereich zu definieren.
  4. Wählen Sie in der angezeigten Liste Bereich 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 Freigegeben kann auch mit anderen Projektfeatures verwendet werden, die ein Bereichsfeld haben. Wenn Sie beispielsweise auf Einstellungen bearbeiten klicken, um die Einstellungen für Nutzungen finden zu ändern, wird im angezeigten Dialogfeld das Feld Bereich angezeigt, in dem Sie einen freigegebenen Bereich auswählen können.

    Wählen Sie einen freigegebenen Bereich aus dem Dialogfeld „Nutzungen suchen“ aus
    Abbildung 8. Wählen Sie im Dialogfeld Nutzungen finden einen freigegebenen Bereich aus.
  5. Geben Sie dem Bereich einen Namen 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 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 die gleichen.

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

    Benutzerdefinierten Umfang definieren
    Abbildung 9. Benutzerdefinierten Umfang festlegen
    • Einschließen: Schließen Sie diesen Ordner und die zugehörigen Dateien ein, aber keine Unterordner.
    • Rekursiv einschließen: Dieser Ordner und die zugehörigen Dateien sowie die Unterordner und zugehörigen Dateien werden einbezogen.
    • Ausschließen: Schließt diesen Ordner und die zugehörigen Dateien aus, aber keine seiner Unterordner.
    • Rekursiv ausschließen: Schließen Sie diesen Ordner und die zugehörigen Dateien sowie die Unterordner und zugehörigen Dateien aus.

    In Abbildung 10 sehen Sie, dass der Ordner main enthalten ist und die Ordner java und res rekursiv enthalten sind. Blau steht für einen teilweise eingeschlossenen 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 Ausschließen Rekursiver Ordner klicken, wird die grüne Hervorhebung für den Ordner java und alle untergeordneten Ordner und Dateien entfernt.
    • Wenn Sie die grün hervorgehobene Datei MainActivity.kt auswählen und auf Ausschließen klicken, wird MainActivity.kt nicht mehr grün hervorgehoben, alles andere im Ordner java bleibt jedoch grün.
  8. Klicke auf OK. Der benutzerdefinierte Umfang wird am Ende der Liste angezeigt.

Inspektionsprofile prüfen und bearbeiten

In Android Studio gibt es eine Auswahl von Lint- und anderen Inspektionsprofilen, 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 rufen Sie die Einstellungen für Prüfungen auf:

  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. Der Bereich Prüfungen enthält eine Liste der unterstützten Inspektionen und ihre Beschreibungen.

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

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

  5. Wählen Sie in der Liste Prüfungen im linken Bereich 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 Inspektionen dieser Kategorie als eine Prüfung bearbeiten.

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