Erstellen von Xamarin-Apps für Android

Wichtig

Visual Studio App Center wird am 31. März 2025 eingestellt. Sie können Visual Studio App Center zwar weiterhin verwenden, bis es vollständig eingestellt ist, es gibt jedoch mehrere empfohlene Alternativen, zu denen Sie möglicherweise eine Migration in Erwägung ziehen.

Erfahren Sie mehr über Supportzeitpläne und Alternativen.

Um mit der Erstellung Ihrer ersten Xamarin Android-App zu beginnen, müssen Sie Folgendes ausführen:

  1. Stellen Sie eine Verbindung mit Ihrem Repositorydienstkonto her (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Wählen Sie ein Repository und einen Branch aus, in dem sich Ihre App befindet.
  3. Wählen Sie das Android-Projekt aus, das Sie erstellen möchten.
  4. Richten Sie Ihren ersten Build ein.

Hinweis

Damit die App auf einem echten Gerät ausgeführt werden kann, müssen Sie den Build mit einem gültigen KeyStore signieren.

1. Verknüpfen Ihres Repositorys

Wenn Sie zuvor noch keine Verbindung mit Ihrem Repositorydienstkonto hergestellt haben, müssen Sie dies zuerst tun. Nachdem Ihr Konto verbunden ist, wählen Sie das Repository aus, in dem sich Ihr Xamarin-Projekt befindet. Sie benötigen Administrator- und Pullberechtigungen, um einen Build für ein Repository einzurichten.

2. Auswählen eines Zweigs

Nachdem Sie ein Repository ausgewählt haben, wählen Sie den Branch aus, den Sie erstellen möchten. Standardmäßig listet App Center alle aktiven Branches auf.

3. Konfigurieren Ihres Builds

Das Xamarin-Projekt muss vor dem ersten Build konfiguriert werden.

3.1. Buildtrigger

Standardmäßig verwendet der Builddienst Continuous Integration. Daher wird jedes Mal ein neuer Build ausgelöst, wenn ein Entwickler ein Push an einen konfigurierten Branch sendet. Wenn Sie neue Builds lieber manuell auslösen möchten, können Sie diese Einstellung im Konfigurationsbereich ändern.

3.2. Projekt und Konfiguration

Die verfügbaren Projekte in Ihrem Repository füllen sich auf, wenn sie sich innerhalb des Analysebereichs befinden. Wählen Sie das richtige Projekt für Ihren Android-Build aus, und wählen Sie die entsprechende Konfiguration aus.

Hinweis

Um eine optimale Leistung zu erzielen, ist die Analyse derzeit auf vier Verzeichnisebenen beschränkt, einschließlich des Stammverzeichnisses Ihres Repositorys.

3.3. Mono-Version

App Center ermöglicht die Verwendung verschiedener Mono-Umgebungen, die mit dem jeweiligen Xamarin.Android SDK für Ihre Builds gebündelt sind. Auf diese Weise behalten wir die Abwärtskompatibilität bei und unterstützen gleichzeitig die neuesten Features. Die Mono-Standardversion für eine neue Branchkonfiguration ist die neueste stabile. Sie können eine der vorherigen Mono-Umgebungen verwenden, um ältere Versionen von Frameworks oder Bibliotheken zu erstellen.

Wenn Sie eine Mono-Version in der Buildkonfiguration auswählen, wird die gebündelte Xamarin.Android SDK-Version direkt daneben angezeigt. Weitere Informationen zu Xamarin SDK-Versionsupdates finden Sie im Xamarin-Releaseblog.

3.3.1. .NET Core-Version

Die richtige .NET Core-Version wird automatisch basierend auf der für den Build verwendeten Mono-Version ausgewählt und kann nicht überschrieben werden. Sie können die Zuordnung von Mono zu dem von unseren Diensten verwendeten .NET Core in der folgenden Tabelle anzeigen:

Mono .NET Core
<= 5,18 2.2.105
6.0 2.2.300
6.4 3.0.100
6.6 3.1.100
6,8 3.1.200
6.10 3.1.300
6.12 3.1.401

3.4. Erstellen eines Android-App-Bundles (.aab)

Das Android App Bundle ist ein Verteilungsformat, das zum Generieren optimierter APKs für bestimmte Geräte verwendet wird. Sie kann in den Play Store hochgeladen werden. Weitere Informationen zum Android App Bundle finden Sie in der offiziellen Android-Dokumentation und in den Xamarin.Android 9.4-Versionshinweisen, die Ihnen auch bei der Entscheidung helfen können, ob Sie ein Bundle zusammen mit Ihrem regulären Paket erstellen möchten. .apk.

Schalten Sie die Option für Android App Bundle um, um eine .aab und eine .apkzu erzeugen. Wenn die .csproj Datei in der AndroidPackageFormat -Eigenschaft enthältaab, wird diese Option automatisch aktiviert. Das Erstellen eines .aab wird für Xamarin.Android 9.4 und höher unterstützt.

3.5. Inkrementversionsnummer

Wenn diese Option aktiviert ist, wird der Versionscode im AndroidManifest.xml Ihrer App automatisch für jeden Build erhöht. Die Änderung erfolgt vor dem Build und wird nicht an Ihr Repository gebunden.

3.6. Codesignierung

Ein erfolgreicher Build erzeugt eine .apk Datei und eine zusätzliche .aab Datei, wenn sie aktiviert ist. Um den Build im Play Store zu veröffentlichen, muss er mit einem gültigen Keystore und Alias signiert sein. Um die aus einem Branch erstellten Builds zu signieren, aktivieren Sie die Codesignatur im Konfigurationsbereich, laden Sie Ihren Keystore hoch, und geben Sie die erforderlichen Werte im Konfigurationsbereich an. Ausführlichere Anweisungen zur Codesignierung finden Sie hier. Die .aab wird mit den gleichen Anmeldeinformationen wie der .apksigniert.

3.7. Starten Sie Ihren erfolgreichen Build auf einem echten Gerät

Verwenden Sie Ihre neu erstellte .apk Datei, um zu testen, ob Ihre App auf einem echten Gerät gestartet wird. Dies fügt der Gesamtbuildzeit ca. 10 Minuten mehr hinzu. Weitere Informationen finden Sie in unserem Leitfaden zur Testintegration.

3.8. NuGet-Wiederherstellung

Wenn die NuGet.config Datei in das Repository eingecheckt ist und sich neben der .sln Datei oder auf der Stammebene Ihres Repositorys befindet, stellt App Center Ihre privaten NuGet-Feeds wieder her, wenn sie hinzugefügt werden, wie im folgenden Beispiel gezeigt. Anmeldeinformationen können mithilfe von Umgebungsvariablen sicher hinzugefügt werden:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
    <add key="MyGet" value="https://www.myget.org/F/MyUsername/api/v2/index.json" />
    <add key="MyAuthNuget" value="https://nuget.example.com/v2/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <MyAuthNuget>
      <add key="Username" value="$USER_VARIABLE" />
      <add key="ClearTextPassword" value="$PASSWORD_VARIABLE" />
    </MyAuthNuget>
  </packageSourceCredentials>
</configuration>

Wenn Sie über komplexe Konfigurationen verfügen und weitere Informationen benötigen, lesen Sie Konfigurieren des NuGet-Verhaltens.

3.9. Verteilen des Builds

Sie können jeden erfolgreichen Build aus einem Branch so konfigurieren, dass er an eine zuvor erstellte Verteilergruppe oder ein Speicherziel verteilt wird. Sie können eine neue Verteilergruppe hinzufügen oder eine Speicherverbindung über den Distributionsdienst konfigurieren. Es gibt immer eine Standardverteilergruppe namens "Collaborators", die alle Benutzer umfasst, die Zugriff auf die App haben.

Hinweis

Bei der Verteilung an den Google Play Store wird ein Android App Bundle (.aab) bevorzugt und bei Aktivierung verteilt. Für App Center-Verteilergruppen und Intune Storezielen wird ein regulärer .apk Wert verwendet, auch wenn ein .aab ebenfalls generiert wird.

4. Ergebnisse erstellen

Nachdem ein Build ausgelöst wurde, befindet sich der Build in einem der folgenden Zustände:

  • queued : Der Build befindet sich in einer Warteschlange, die darauf wartet, dass Ressourcen freigegeben werden.
  • building : Der Build wird ausgeführt.
  • erfolgreich : Der Build wurde erfolgreich abgeschlossen.
  • Fehler : Der Build wurde mit Fehlern beendet. Sie können Probleme beheben, indem Sie das Buildprotokoll herunterladen und überprüfen.
  • abgebrochen : Der Build wurde von einer Benutzeraktion abgebrochen oder ein Timeout ausgeführt.

4.1. Buildprotokolle

Laden Sie für einen abgeschlossenen Build (erfolgreich oder fehlgeschlagen) die Protokolle herunter, um mehr über den Buildvorgang zu erfahren. App Center stellt ein Archiv mit den folgenden Dateien bereit:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Die Buildschrittprotokolle (im build/ Verzeichnis des Archivs) sind hilfreich, um zu verstehen, in welchem Schritt und warum der Buildfehler aufgetreten ist.

4.2. Die App (.apk)

Die .apk Datei ist eine gepackte Android-Anwendungsdatei, in der die Android-App gespeichert wird. Wenn der Build ordnungsgemäß signiert wurde, kann die .apk Datei auf einem echten Gerät installiert und im Play Store bereitgestellt werden. Wenn der Build nicht signiert wurde, kann die App auf einem Emulator ausgeführt oder für andere Zwecke verwendet werden.

Unterstützte Versionen und Anforderungen

App Center unterstützt PCL-Projekte (Portable Class Library) und .NET Standard . Versionen von .NET Standard finden Sie unter Cloud Build Machines .

App Center unterstützt keine Komponenten aus dem Xamarin-Komponentenspeicher, und es wird empfohlen, NuGet-Pakete immer dann zu verwenden, wenn sie verfügbar sind. Wenn Sie eine Komponente verwenden, die nicht ersetzt werden kann, wenden Sie sich an uns. Weitere Informationen finden Sie unter Hilfe und Feedback.