Android API-Ebenen

Xamarin.Android verfügt über mehrere Einstellungen auf Android-API-Ebene, die die Kompatibilität Ihrer App mit mehreren Android-Versionen bestimmen. In diesem Leitfaden wird erläutert, was diese Einstellungen bedeuten, wie sie konfiguriert werden und welche Auswirkungen sie zur Laufzeit auf Ihre App haben.

Schnellstart

Xamarin.Android macht drei Projekteinstellungen auf Android-API-Ebene verfügbar:

  • Zielframework : Gibt an, welches Framework beim Erstellen Ihrer Anwendung verwendet werden soll. Diese API-Ebene wird zur Kompilierzeit von Xamarin.Android verwendet.

  • Android-Mindestversion : Gibt die älteste Android-Version an, die Ihre App unterstützen soll. Diese API-Ebene wird zur Laufzeit von Android verwendet.

  • Android-Zielversion : Gibt die Android-Version an, auf der Ihre App ausgeführt werden soll. Diese API-Ebene wird zur Laufzeit von Android verwendet.

Bevor Sie eine API-Ebene für Ihr Projekt konfigurieren können, müssen Sie die SDK-Plattformkomponenten für diese API-Ebene installieren. Weitere Informationen zum Herunterladen und Installieren von Android SDK-Komponenten finden Sie unter Android SDK-Setup.

Hinweis

Ab August 2021 erfordert die Google Play-Konsole, dass neue Apps auf API-Ebene 30 (Android 11.0) oder höher abzielen. Vorhandene Apps müssen ab November 2021 auf API-Ebene 30 oder höher abzielen. Weitere Informationen finden Sie unter Anforderungen auf Ziel-API-Ebene für die Play Console in "Erstellen und Einrichten Ihrer App" in der Play Console-Dokumentation.

Normalerweise werden alle drei Xamarin.Android-API-Ebenen auf den gleichen Wert festgelegt. Legen Sie auf der Seite AnwendungKompilieren mit Android-Version (Zielframework) auf die neueste stabile API-Version (oder mindestens auf die Android-Version mit allen benötigten Features) fest. Im folgenden Screenshot ist das Zielframework auf Android 7.1 (API Level 25 – Nougat) festgelegt:

Standardeinstellung der Zielframeworkversion: Kompilieren mithilfe der Android-Version

Legen Sie auf der Seite Android-Manifest die Android-Mindestversion auf Verwenden von Kompilieren mithilfe der SDK-Version fest, und legen Sie die Android-Zielversion auf den gleichen Wert wie die Zielframeworkversion fest (im folgenden Screenshot ist das Ziel-Android-Framework auf Android 7.1 (Nougat)) festgelegt:

Android-Mindest- und Zielversionen auf Target Framework-Version festgelegt

Wenn Sie die Abwärtskompatibilität mit einer früheren Android-Version beibehalten möchten, legen Sie mindeste Android-Version auf die älteste Android-Version fest, die von Ihrer App unterstützt werden soll. (Beachten Sie, dass API-Ebene 14 die mindeste API-Ebene ist, die für Google Play-Dienste und Firebase-Unterstützung erforderlich ist.) Die folgende Beispielkonfiguration unterstützt Android-Versionen von API-Ebene 14 bis API-Ebene 25:

Kompilieren mit API-Ebene 25 Nougat, Mindestversion von Android auf API-Ebene 14 festgelegt

Wenn Ihre App mehrere Android-Versionen unterstützt, muss Ihr Code Laufzeitüberprüfungen enthalten, um sicherzustellen, dass Ihre App mit der Einstellung "Android-Mindestversion" funktioniert (Ausführliche Informationen finden Sie weiter unten unter Laufzeitüberprüfungen für Android-Versionen ). Wenn Sie eine Bibliothek nutzen oder erstellen, finden Sie unter API-Ebenen und Bibliotheken unten bewährte Methoden zum Konfigurieren von EINSTELLUNGEN auf API-Ebene für Bibliotheken.

Android-Versionen und API-Ebenen

Wenn sich die Android-Plattform weiterentwickelt und neue Android-Versionen veröffentlicht werden, wird jeder Android-Version ein eindeutiger ganzzahliger Bezeichner zugewiesen, der als API-Ebene bezeichnet wird. Daher entspricht jede Android-Version einer einzelnen Android-API-Ebene. Da Benutzer Apps sowohl auf älteren als auch auf den neuesten Versionen von Android installieren, müssen reale Android-Apps so konzipiert sein, dass sie mit mehreren Android-API-Ebenen arbeiten.

Android-Versionen

Jedes Release von Android trägt mehrere Namen:

  • Die Android-Version, z . B. Android 9.0
  • Codename (oder Dessertname), z. B. Pie
  • Eine entsprechende API-Ebene, z. B . API-Ebene 28

Ein Android-Codename kann mehreren Versionen und API-Ebenen entsprechen (wie in der folgenden Tabelle dargestellt), aber jede Android-Version entspricht genau einer API-Ebene.

Darüber hinaus definiert Xamarin.Android Buildversionscodes , die den derzeit bekannten Android-API-Ebenen zugeordnet sind. Die folgende Tabelle kann Ihnen beim Übersetzen zwischen API-Ebene, Android-Version, Codename und Xamarin.Android-Buildversionscode helfen (Buildversionscodes sind im Android.OS Namespace definiert):

Name Version API-Ebene Freigegeben Buildversionscode
Q 10.0 29 August 2020 BuildVersionCodes.Q
Kreisdiagramm 9.0 28 Aug 2018 BuildVersionCodes.P
Oreo 8.1 27 Dezember 2017 BuildVersionCodes.OMr1
Oreo 8.0 26 Aug 2017 BuildVersionCodes.O
Nougat 7.1 25 Dez 2016 BuildVersionCodes.NMr1
Nougat 7.0 24 Aug 2016 BuildVersionCodes.N
Marshmallow 6.0 23 Aug 2015 BuildVersionCodes.M
Lollipop 5.1 22 Mar 2015 BuildVersionCodes.LollipopMr1
Lollipop 5.0 21 Nov 2014 BuildVersionCodes.Lollipop
Kitkat Watch 4,4 W 20 Juni 2014 BuildVersionCodes.KitKatWatch
Kitkat 4.4 19 Okt 2013 BuildVersionCodes.KitKat
Jelly Bean 4.3 18 Juli 2013 BuildVersionCodes.JellyBeanMr2
Jelly Bean 4.2-4.2.2 17 Nov 2012 BuildVersionCodes.JellyBeanMr1
Jelly Bean 4.1-4.1.1 16 Juni 2012 BuildVersionCodes.JellyBean
Eiscreme-Sandwich 4.0.3-4.0.4 15 Dezember 2011 BuildVersionCodes.IceCreamSandwichMr1
Eiscreme-Sandwich 4.0-4.0.2 14 Oktober  2011 BuildVersionCodes.IceCreamSandwich
Wabe 3.2 13 Juni 2011 BuildVersionCodes.HoneyCombMr2
Wabe 3.1.x 12 Mai 2011 BuildVersionCodes.HoneyCombMr1
Wabe 3.0.x 11 Februar 2011 BuildVersionCodes.HoneyComb
Lebkuchen 2.3.3-2.3.4 10 Februar 2011 BuildVersionCodes.GingerBreadMr1
Lebkuchen 2.3-2.3.2 9 Nov 2010 BuildVersionCodes.GingerBread
Froyo 2.2.x 8 Juni 2010 BuildVersionCodes.Froyo
Eclair 2.1.x 7 Jan. 2010 BuildVersionCodes.EclairMr1
Eclair 2.0.1 6 Dez 2009 BuildVersionCodes.Eclair01
Eclair 2.0 5 Nov 2009 BuildVersionCodes.Eclair
Ringdiagramm 1.6 4 September 2009 BuildVersionCodes.Donut
Cupcake 1.5 3 Mai 2009 BuildVersionCodes.Cupcake
Basis 1.1 2 Februar 2009 BuildVersionCodes.Base11
Basis 1.0 1 Oktober 2008 BuildVersionCodes.Base

Wie in dieser Tabelle angegeben, werden häufig neue Android-Versionen veröffentlicht – manchmal mehr als eine Version pro Jahr. Daher umfasst das Universum der Android-Geräte, auf denen Ihre App möglicherweise ausgeführt wird, eine Vielzahl von älteren und neueren Android-Versionen. Wie können Sie garantieren, dass Ihre App unter so vielen verschiedenen Android-Versionen konsistent und zuverlässig ausgeführt wird? Die API-Ebenen von Android können Ihnen dabei helfen, dieses Problem zu beheben.

Android-API-Ebenen

Jedes Android-Gerät wird auf genau einer API-Ebene ausgeführt – diese API-Ebene ist garantiert pro Android-Plattformversion eindeutig. Die API-Ebene identifiziert genau die Version des API-Satzes, in den Ihre App aufrufen kann. Es identifiziert die Kombination von Manifestelementen, Berechtigungen usw. für die Sie als Entwickler programmieren. Das System der API-Ebenen von Android hilft Android zu bestimmen, ob eine Anwendung mit einem Android-Systemimage kompatibel ist, bevor die Anwendung auf einem Gerät installiert wird.

Wenn eine Anwendung erstellt wird, enthält sie die folgenden Informationen auf API-Ebene:

  • Die Ziel-API-Ebene von Android, auf der die App ausgeführt werden soll.

  • Die Android-API-Mindestebene , die ein Android-Gerät zum Ausführen Ihrer App benötigen muss.

Diese Einstellungen werden verwendet, um sicherzustellen, dass die für die ordnungsgemäße Ausführung der App erforderlichen Funktionen zum Zeitpunkt der Installation auf dem Android-Gerät verfügbar sind. Andernfalls wird die Ausführung der App auf diesem Gerät blockiert. Wenn beispielsweise die API-Ebene eines Android-Geräts niedriger als die mindeste API-Ebene ist, die Sie für Ihre App angeben, verhindert das Android-Gerät, dass der Benutzer Ihre App installiert.

Einstellungen auf Projekt-API-Ebene

In den folgenden Abschnitten wird erläutert, wie Sie den SDK-Manager verwenden, um Ihre Entwicklungsumgebung auf die API-Ebenen vorzubereiten, die Sie als Ziel verwenden möchten, gefolgt von ausführlichen Erläuterungen zur Konfiguration der Einstellungen für Zielframeworks, Mindestversion von Android und Android-Zielversion in Xamarin.Android.

Android SDK-Plattformen

Bevor Sie eine Ziel- oder Mindest-API-Ebene in Xamarin.Android auswählen können, müssen Sie die Android SDK-Plattformversion installieren, die dieser API-Ebene entspricht. Die Auswahlmöglichkeiten für Zielframework, Android-Mindestversion und Android-Zielversion sind auf den Bereich der installierten Android SDK-Versionen beschränkt. Sie können den SDK-Manager verwenden, um zu überprüfen, ob die erforderlichen Android SDK-Versionen installiert sind, und Sie können ihn verwenden, um alle neuen API-Ebenen hinzuzufügen, die Sie für Ihre App benötigen. Wenn Sie nicht mit der Installation von API-Ebenen vertraut sind, finden Sie weitere Informationen unter Android SDK-Setup.

Zielframework

Das Zielframework (auch bekannt als compileSdkVersion) ist die spezifische Android-Frameworkversion (API-Ebene), für die Ihre App zur Buildzeit kompiliert wird. Diese Einstellung gibt an, welche APIs Ihre App bei der Ausführung verwenden soll , aber sie hat keine Auswirkung darauf, welche APIs tatsächlich für Ihre App verfügbar sind, wenn sie installiert wird. Daher ändert das Ändern der Zielframeworkeinstellung das Laufzeitverhalten nicht.

Das Zielframework identifiziert, mit welchen Bibliotheksversionen Ihre Anwendung verknüpft ist. Diese Einstellung bestimmt, welche APIs Sie in Ihrer App verwenden können. Wenn Sie beispielsweise die NotificationBuilder.SetCategory-Methode verwenden möchten, die in Android 5.0 Lollipop eingeführt wurde, müssen Sie das Zielframework auf API-Ebene 21 (Lollipop) oder höher festlegen. Wenn Sie das Zielframework Ihres Projekts auf eine API-Ebene wie API Level 19 (KitKat) festlegen und versuchen, die SetCategory -Methode in Ihrem Code aufzurufen, erhalten Sie einen Kompilierfehler.

Es wird empfohlen, immer mit der neuesten verfügbaren Target Framework-Version zu kompilieren. Dadurch erhalten Sie hilfreiche Warnmeldungen für alle veralteten APIs, die möglicherweise von Ihrem Code aufgerufen werden. Die Verwendung der neuesten Zielframework-Version ist besonders wichtig, wenn Sie die neuesten Versionen der Supportbibliothek verwenden. Jede Bibliothek erwartet, dass Ihre App auf mindestens der API-Mindestebene dieser Supportbibliothek kompiliert wird.

Um auf die Zielframeworkeinstellung in Visual Studio zuzugreifen, öffnen Sie die Projekteigenschaften in Projektmappen-Explorer, und wählen Sie die Seite Anwendung aus:

Seite

Legen Sie das Zielframework fest, indem Sie eine API-Ebene im Dropdownmenü unter Kompilieren mit Android-Version auswählen, wie oben gezeigt.

Android-Mindestversion

Die Mindestversion von Android (auch bekannt als minSdkVersion) ist die älteste Version des Android-Betriebssystems (d. h. die niedrigste API-Ebene), mit der Ihre Anwendung installiert und ausgeführt werden kann. Standardmäßig kann eine App nur auf Geräten installiert werden, die der Zielframeworkeinstellung oder höher entsprechen. Wenn die Einstellung Mindestversion von Android niedriger als die Einstellung Zielframework ist, kann Ihre App auch unter früheren Android-Versionen ausgeführt werden. Wenn Sie beispielsweise das Zielframework auf Android 7.1 (Nougat) und die Android-Mindestversion auf Android 4.0.3 (Ice Cream Sandwich) festlegen, kann Ihre App auf jeder Plattform von API-Ebene 15 bis EINSCHLIEßLICH API-Ebene 25 installiert werden.

Obwohl Ihre App möglicherweise erfolgreich auf diesem Plattformbereich erstellt und installiert wird, ist dies nicht garantiert, dass sie erfolgreich auf allen diesen Plattformen ausgeführt wird. Wenn Ihre App beispielsweise unter Android 5.0 (Lollipop) installiert ist und Ihr Code eine API aufruft, die nur in Android 7.1 (Nougat) und höher verfügbar ist, erhält Ihre App einen Laufzeitfehler und stürzt möglicherweise ab. Daher muss Ihr Code zur Laufzeit sicherstellen, dass er nur die APIs aufruft, die von dem Android-Gerät unterstützt werden, auf dem er ausgeführt wird. Anders ausgedrückt: Ihr Code muss explizite Laufzeitüberprüfungen enthalten, um sicherzustellen, dass Ihre App neuere APIs nur auf Geräten verwendet, die aktuell genug sind, um sie zu unterstützen. Laufzeitüberprüfungen für Android-Versionen, weiter unten in diesem Handbuch, erläutert, wie Sie Diese Laufzeitüberprüfungen zu Ihrem Code hinzufügen.

Um in Visual Studio auf die Einstellung Android-Mindestversion zuzugreifen, öffnen Sie die Projekteigenschaften in Projektmappen-Explorer, und wählen Sie die Seite Android-Manifest aus. Im Dropdownmenü unter Android-Mindestversion können Sie die Android-Mindestversion für Ihre Anwendung auswählen:

Die Option

Wenn Sie Kompilieren mit SDK-Version verwenden auswählen, entspricht die Android-Mindestversion der Einstellung Zielframework.

Android-Zielversion

Die Android-Zielversion (auch bekannt als targetSdkVersion) ist die API-Ebene des Android-Geräts, auf dem die App ausgeführt werden soll. Android verwendet diese Einstellung, um zu bestimmen, ob Kompatibilitätsverhalten aktiviert werden soll. Dadurch wird sichergestellt, dass Ihre App weiterhin wie erwartet funktioniert. Android verwendet die Android-Zielversionseinstellung Ihrer App, um herauszufinden, welche Verhaltensänderungen auf Ihre App angewendet werden können, ohne sie zu unterbrechen (so bietet Android die Vorwärtskompatibilität).

Das Zielframework und die Android-Zielversion haben zwar sehr ähnliche Namen, sind aber nicht identisch. Die Zielframeworkeinstellung kommuniziert Informationen auf ZIEL-API-Ebene an Xamarin.Android zur Verwendung zur Kompilierzeit, während die Android-Zielversion Informationen auf API-Ebene zur Verwendung zur Laufzeit (wenn die App installiert ist und auf einem Gerät ausgeführt wird) an Android übermittelt.

Um in Visual Studio auf diese Einstellung zuzugreifen, öffnen Sie die Projekteigenschaften in Projektmappen-Explorer, und wählen Sie die Seite Android-Manifest aus. Im Dropdownmenü unter Android-Zielversion können Sie die Android-Zielversion für Ihre Anwendung auswählen:

Android-Zielversion, die auf Kompilieren mithilfe der SDK-Version festgelegt ist

Es wird empfohlen, die Android-Zielversion explizit auf die neueste Android-Version festzulegen, die Sie zum Testen Ihrer App verwenden. Im Idealfall sollte es auf die neueste Android SDK-Version festgelegt werden. Dadurch können Sie neue APIs verwenden, bevor Sie die Verhaltensänderungen durcharbeiten. Für die meisten Entwickler wird davon abgeraten, die Android-Zielversion auf "Kompilieren mit SDK-Version verwenden" festzulegen.

Im Allgemeinen sollte die Android-Zielversion an die Android-Mindestversion und das Zielframework gebunden sein. Dies bedeutet:

Android-Mindestversion <= Android-Zielversion <= Zielframework

Weitere Informationen zu SDK-Ebenen finden Sie in der Dokumentation zu Android Developer uses-sdk .

Laufzeitüberprüfungen für Android-Versionen

Wenn jede neue Version von Android veröffentlicht wird, wird die Framework-API aktualisiert, um neue oder ersetzungsfunktionen bereitzustellen. Mit wenigen Ausnahmen wird die API-Funktionalität früherer Android-Versionen ohne Änderungen in neuere Android-Versionen übertragen. Wenn Ihre App also auf einer bestimmten Android-API-Ebene ausgeführt wird, kann sie in der Regel auf einer späteren Android-API-Ebene ohne Änderungen ausgeführt werden. Aber was ist, wenn Sie Ihre App auch auf früheren Android-Versionen ausführen möchten?

Wenn Sie eine Android-Mindestversion auswählen, die niedriger als Ihre Zielframeworkeinstellung ist, sind einige APIs möglicherweise nicht zur Laufzeit für Ihre App verfügbar. Ihre App kann jedoch weiterhin auf einem früheren Gerät ausgeführt werden, jedoch mit eingeschränkter Funktionalität. Für jede API, die nicht auf Android-Plattformen verfügbar ist, die Ihrer Einstellung Android-Mindestversion entspricht, muss Ihr Code explizit den Wert der Android.OS.Build.VERSION.SdkInt Eigenschaft überprüfen, um die API-Ebene der Plattform zu bestimmen, auf der die App ausgeführt wird. Wenn die API-Ebene niedriger als die Android-Mindestversion ist, die die API unterstützt, die Sie aufrufen möchten, muss Ihr Code eine Möglichkeit finden, ordnungsgemäß zu funktionieren, ohne diesen API-Aufruf durchzuführen.

Angenommen, wir möchten die NotificationBuilder.SetCategory-Methode verwenden, um eine Benachrichtigung zu kategorisieren, wenn sie unter Android 5.0 Lollipop (und höher) ausgeführt wird, aber wir möchten weiterhin, dass die App auf früheren Android-Versionen wie Android 4.1 Jelly Bean ausgeführt wird (sofern SetCategory nicht verfügbar). In Bezug auf die Android-Versionstabelle am Anfang dieses Handbuchs sehen wir, dass der Buildversionscode für Android 5.0 Lollipop lautet Android.OS.BuildVersionCodes.Lollipop. Zur Unterstützung älterer Android-Versionen, in denen SetCategory nicht verfügbar ist, kann unser Code die API-Ebene zur Laufzeit erkennen und nur dann bedingt aufrufen SetCategory , wenn die API-Ebene größer oder gleich dem Lollipop-Buildversionscode ist:

if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
{
    builder.SetCategory(Notification.CategoryEmail);
}

In diesem Beispiel ist das Zielframework unserer App auf Android 5.0 (API-Ebene 21) und die Android-Mindestversion auf Android 4.1 (API-Ebene 16) festgelegt. Da SetCategory auf API-Ebene Android.OS.BuildVersionCodes.Lollipop und höher verfügbar ist, ruft dieser Beispielcode nur auf SetCategory , wenn er tatsächlich verfügbar ist. Er versucht nicht , aufzurufen SetCategory , wenn die API-Ebene 16, 17, 18, 19 oder 20 beträgt. Die Funktionalität wird bei diesen früheren Android-Versionen nur so eingeschränkt, dass Benachrichtigungen nicht ordnungsgemäß sortiert sind (da sie nicht nach Typ kategorisiert sind), die Benachrichtigungen jedoch weiterhin veröffentlicht werden, um den Benutzer zu benachrichtigen. Unsere App funktioniert immer noch, aber ihre Funktionalität ist leicht eingeschränkt.

Im Allgemeinen hilft die Überprüfung der Buildversion Ihrem Code dabei, zur Laufzeit zu entscheiden, ob sie etwas auf die neue Und die alte Art und Weise tut. Beispiel:

if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
{
    // Do things the Lollipop way
}
else
{
    // Do things the pre-Lollipop way
}

Es gibt keine schnelle und einfache Regel, die erläutert, wie Sie die Funktionalität Ihrer App reduzieren oder ändern, wenn sie auf älteren Android-Versionen ausgeführt wird, denen mindestens eine APIs fehlt. In einigen Fällen (z. B. im SetCategory obigen Beispiel) reicht es aus, den API-Aufruf auszulassen, wenn er nicht verfügbar ist. In anderen Fällen müssen Sie jedoch möglicherweise alternative Funktionen implementieren, wenn Android.OS.Build.VERSION.SdkInt erkannt wird, dass sie kleiner als die API-Ebene ist, die Ihre App benötigt, um ihre optimale Oberfläche zu präsentieren.

API-Ebenen und -Bibliotheken

Wenn Sie ein Xamarin.Android-Bibliotheksprojekt (z. B. eine Klassenbibliothek oder eine Bindungsbibliothek) erstellen, können Sie nur die Einstellung Zielframework konfigurieren. Die Einstellungen für android-Mindestversion und Android-Zielversion sind nicht verfügbar. Das liegt daran, dass es keine Android-Manifestseite gibt:

Nur die Option Kompilieren mit Android-Version ist verfügbar.

Die Einstellungen mindeste Android-Version und Android-Zielversion sind nicht verfügbar, da die resultierende Bibliothek keine eigenständige App ist. Die Bibliothek kann abhängig von der App, mit der sie gepackt ist, auf jeder Android-Version ausgeführt werden. Sie können angeben, wie die Bibliothek kompiliert werden soll, aber Sie können nicht vorhersagen, auf welcher Plattform-API-Ebene die Bibliothek ausgeführt wird. Vor diesem Hintergrund sollten die folgenden bewährten Methoden beim Verwenden oder Erstellen von Bibliotheken beachtet werden:

  • Wenn Sie eine Android-Bibliothek verwenden: Wenn Sie eine Android-Bibliothek in Ihrer Anwendung verwenden, stellen Sie sicher, dass Sie die Zielframeworkeinstellung Ihrer App auf eine API-Ebene festlegen, die mindestens so hoch ist wie die Zielframeworkeinstellung der Bibliothek.

  • Wenn Sie eine Android-Bibliothek erstellen: Wenn Sie eine Android-Bibliothek für die Verwendung durch andere Anwendungen erstellen, stellen Sie sicher, dass Sie die Zielframeworkeinstellung auf die minimale API-Ebene festlegen, die für die Kompilierung erforderlich ist.

Diese bewährten Methoden werden empfohlen, um zu verhindern, dass eine Bibliothek versucht, eine API aufzurufen, die zur Laufzeit nicht verfügbar ist (was zu einem Absturz der App führen kann). Wenn Sie Bibliotheksentwickler sind, sollten Sie versuchen, die Nutzung von API-Aufrufen auf eine kleine und gut etablierte Teilmenge der gesamten API-Oberfläche zu beschränken. Auf diese Weise können Sie sicherstellen, dass Ihre Bibliothek in einer größeren Palette von Android-Versionen sicher verwendet werden kann.

Zusammenfassung

In diesem Leitfaden wurde erläutert, wie Android-API-Ebenen verwendet werden, um die App-Kompatibilität für verschiedene Android-Versionen zu verwalten. Es wurden detaillierte Schritte zum Konfigurieren der Projekteinstellungen Xamarin.Android Target Framework, Mindestversion von Android und Android-Zielversion bereitgestellt. Es wurden Anweisungen zur Verwendung des Android SDK-Managers zum Installieren von SDK-Paketen bereitgestellt, Beispiele für das Schreiben von Code zum Umgang mit verschiedenen API-Ebenen zur Laufzeit und zum Verwalten von API-Ebenen beim Erstellen oder Verwenden von Android-Bibliotheken erläutert. Außerdem wurde eine umfassende Liste bereitgestellt, die API-Ebenen mit Android-Versionsnummern (z. B. Android 4.4), Android-Versionsnamen (z. B. Kitkat) und Xamarin.Android-Buildversionscodes in Verbindung setzt.