App-Ressourcen hinzufügen

App-Ressourcen wie Bitmaps und Layouts sind in typspezifischen im Verzeichnis res/ jedes Moduls befinden. Sie können auch alternative Versionen jeder Datei, die für verschiedene Geräte optimiert sind Konfigurationen, wie z. B. eine hochauflösende Version einer Bitmap für Bildschirmen.

Android Studio unterstützt Sie beim Hinzufügen neuer Ressourcen und alternativer Ressourcen in mehreren je nachdem, welche Art von Ressource Sie hinzufügen möchten. Auf dieser Seite wird beschrieben, wie Sie grundlegende Ressourcendateien hinzufügen, den Speicherort Ihrer Ressourcen ändern und wie Ressourcenzusammenführung funktioniert.

Auf den folgenden Seiten finden Sie weitere Informationen zum Erstellen von bestimmte Ressourcentypen:

Informationen zum Verweisen auf die Ressourcen Ihrer App Code finden Sie unter App-Ressourcen – Übersicht

XML-Ressourcendatei hinzufügen

Obwohl die Links oben die Workflows beschreiben, Ressourcentyp, können Sie eine beliebige XML-Ressourcendatei hinzufügen. Gehen Sie dazu folgendermaßen vor: Schritte:

  1. Klicken Sie entweder im Fenster Project (Projekt) auf das Ziel-App-Modul Android- oder Projekt-Ansicht.

  2. Wählen Sie Datei > Neu > Android-Ressourcendatei.

    Abbildung 1: Dialogfeld Neue Ressourcendatei.

  3. Geben Sie im Dialogfeld die erforderlichen Informationen ein: <ph type="x-smartling-placeholder">
      </ph>
    • Dateiname: Geben Sie den Namen der XML-Datei ein. .xml.
    • Ressourcentyp: Wählen Sie den Ressourcentyp aus, den Sie erstellen möchten.
    • Stammelement: Wählen Sie gegebenenfalls das XML-Stammelement für die -Datei. Einige Ressourcentypen unterstützen nur einen Typ von Stammelementen. Je nach für den ausgewählten Ressourcentyp haben, kann dieser möglicherweise nicht bearbeitet werden.
    • Quellsatz: Wählen Sie den Quellsatz aus, in dem Sie die Datei speichern möchten.
    • Verzeichnisname: Der Name des Verzeichnisses muss spezifisch sein. den Ressourcentyp und die Konfigurationsqualifizierer. Bearbeiten Sie das Feld nur, Sie die Konfigurationsqualifizierer Verzeichnisnamen manuell. Verwenden Sie stattdessen Verfügbare Qualifier.
    • Verfügbare Qualifier: Statt Konfigurationsqualifizierer manuell hinzuzufügen im Verzeichnisnamen, können Sie sie hinzufügen, indem Sie einen Qualifizierer aus der und klicken Sie auf Hinzufügen .
  4. Wenn Sie alle gewünschten Kennzeichner hinzugefügt haben, klicken Sie auf OK.

Tipp: So öffnen Sie eine vereinfachte Version des Dialogfelds Neue Ressourcendatei: für den Ressourcentyp, den Sie hinzufügen möchten, klicken Sie mit der rechten Maustaste Ressourcenverzeichnis im Ordner res und wählen Sie Neu > type-name-Ressourcendatei.

Komplexe XML-Ressourcen inline einbinden

Einige komplexe Ressourcen erfordern mehrere XML-Ressourcendateien. Beispiel: Das animierte Vektor-Drawable enthält ein Vektor-Drawable-Objekt und ein Animationsobjekt und erfordert mindestens drei XML-Dateien.

In diesem Beispiel können Sie die drei separaten XML-Dateien erstellen und beibehalten, wenn Sie eine oder mehrere der . Werden die XML-Dateien jedoch nur für dieses animierte Vektor-Drawable verwendet, können Sie stattdessen das Inline-Ressourcenformat im Android-Asset verwenden. Packaging Tool (AAPT). Mit AAPT können Sie alle drei Ressourcen in einer XML-Datei definieren -Datei. Weitere Informationen finden Sie unter Inline komplexer XML-Code. Ressourcen

Ressourcenverzeichnis hinzufügen

So fügen Sie ein neues Ressourcenverzeichnis hinzu:

  1. Klicken Sie im Fenster Projekt auf das Ziel-App-Modul.

  2. Wählen Sie Datei > Neu > Android-Ressourcenverzeichnis.

    Abbildung 2: Dialogfeld Neues Ressourcenverzeichnis.

  3. Geben Sie im Dialogfeld die erforderlichen Informationen ein: <ph type="x-smartling-placeholder">
      </ph>
    • Verzeichnisname: Der Name des Verzeichnisses muss spezifisch sein. auf den Ressourcentyp und die Kombination von Konfigurationsqualifizierern. Das sollten Sie nicht tun: bearbeiten, es sei denn, Sie möchten dem Verzeichnisnamen manuell. Verwenden Sie stattdessen Verfügbare Qualifier.
    • Ressourcentyp:Wählen Sie den Ressourcentyp für das Verzeichnis aus.
    • Quellsatz: Wählen Sie den Quellsatz aus, in dem sich das Verzeichnis befinden soll.
    • Verfügbare Qualifier:Anstatt Konfigurationsqualifizierer manuell hinzuzufügen, im Verzeichnisnamen, können Sie sie hinzufügen, indem Sie einen Qualifizierer aus der und klicken Sie auf Hinzufügen .
  4. Wenn Sie alle gewünschten Kennzeichner hinzugefügt haben, klicken Sie auf OK.

Ressourcenverzeichnis ändern

Standardmäßig befinden sich Ihre Ressourcen an folgendem Ort: module-name/src/source-set-name/res/ Ressourcen für den Hauptquellsatz Ihres Moduls befinden sich beispielsweise in src/main/res/, und die Ressourcen für den Quellsatz der Fehlerbehebung befinden sich in src/debug/res/.

Sie können diese Pfade jedoch auch in Standort (relativ zur Datei build.gradle) mit der Eigenschaft res.srcDirs im sourceSets-Block. Beispiel:

Cool

android {
    sourceSets {
        main {
            res.srcDirs = ['resources/main']
        }
        debug {
            res.srcDirs = ['resources/debug']
        }
    }
}

Kotlin

android {
    sourceSets {
        getByName("main") {
            res.srcDirs("resources/main")
        }
        getByName("debug") {
            res.srcDirs("resources/debug")
        }
    }
}

Sie können auch mehrere Ressourcenverzeichnisse für einen Quellsatz angeben und dann und die Build-Tools führen sie zusammen. Beispiel:

Cool

android {
    sourceSets {
        main {
            res.srcDirs = ['res1', 'res2']
        }
    }
}

Kotlin

android {
    sourceSets {
        main {
            res.srcDirs("res1", "res2")
        }
    }
}

Weitere Informationen finden Sie in den Quellgruppen.

Ressourcen zusammenführen

Ressourcen in Ihrer endgültigen Anwendungsdatei können aus drei Quellen stammen:

  • Hauptquellensatz (im Allgemeinen in src/main/res/)
  • Quellsätze für Varianten erstellen
  • Android-Bibliotheken (AAE)

Wenn alle Ressourcen aus jedem Quellsatz oder jeder Bibliothek eindeutig sind, sind sie alle in der finalen App hinzugefügt. Eine Ressource gilt als eindeutig, wenn ihr Dateiname eindeutig in beiden Verzeichnis resource type und die Ressourcenqualifizierer (falls definiert).

Wenn es zwei oder mehr übereinstimmende Versionen derselben Ressource gibt, ist in der endgültigen App nur eine Version enthalten. Mit den Build-Tools wählen Sie Version gemäß der folgenden Prioritätsreihenfolge (höchste Priorität) auf der linken Seite):

<ph type="x-smartling-placeholder">
</ph> Build-Variante > Build-Typ > Produktgeschmack > Hauptquellensatz > Bibliotheksabhängigkeiten

Beispiel: Der Hauptquellsatz enthält:

  • res/layout/example.xml
  • res/layout-land/example.xml

Der Debug-Build-Typ enthält Folgendes:

  • res/layout/example.xml

Dann enthält die finale App res/layout/example.xml aus dem Debug-Build-Typ und res/layout-land/example.xml aus dem Hauptquellensatz.

Wenn in Ihrer Build-Konfiguration jedoch mehrere Ressourcenordner für und es Konflikte zwischen diesen Quellen gibt, wird ein Fehler und die Zusammenführung schlägt fehl, da jedes Ressourcenverzeichnis Priorität haben.