Beheben von Bibliotheksinstallationsfehlern
In einigen Fällen erhalten Sie möglicherweise Fehlermeldungen bei der Installation von Android-Unterstützungsbibliotheken. In diesem Handbuch werden Problemumgehungen zu einigen häufigen Fehlern beschrieben.
Übersicht
Beim Erstellen eines Xamarin.Android-App-Projekts erhalten Sie möglicherweise Buildfehlermeldungen, wenn Visual Studio oder Visual Studio für Mac versuchen, Abhängigkeitsbibliotheken herunterzuladen und zu installieren. Viele dieser Fehler werden durch Netzwerkkonnektivitäts-Probleme, Dateibeschädigungen oder Versionsprobleme verursacht. In diesem Handbuch werden die am häufigsten auftretenden Fehler bei der Installation von Unterstützungsbibliotheken sowie die Schritte zum Umgehen dieser Probleme und zum erneuten Erstellen des App-Projekts beschrieben.
Fehler beim Herunterladen von m2Repository
Wenn Sie auf ein NuGet-Paket der Android-Unterstützungsbibliotheken oder Google Play-Dienste verweisen, werden möglicherweise m2repository-Fehler angezeigt. Die Fehlermeldung sieht etwa wie die folgende aus:
Download failed. Please download https://dl-ssl.google.com/android/repository/android_m2repository_r16.zip and extract it to the C:\Users\mgm\AppData\Local\Xamarin\Android.Support.v4\22.2.1\content directory.
Dieses Beispiel ist für android_m2repository_r16 vorgesehen, es wird jedoch möglicherweise dieselbe Fehlermeldung für eine andere Version wie android_m2repository_r18 oder android_m2repository_r25 angezeigt.
Automatische Wiederherstellung bei m2repository-Fehlern
Häufig kann dieses Problem behoben werden, indem die problematische Bibliothek gelöscht und in den folgenden Schritten neu erstellt wird:
Navigieren Sie zum Verzeichnis der Unterstützungsbibliothek auf Ihrem Computer:
Unter Windows befinden sich Supportbibliotheken unter C:\Users\username\AppData\Local\Xamarin.
Unter Mac OS X befinden sich Unterstützungsbibliotheken unter /Users/Benutzername/.local/share/Xamarin.
Suchen Sie die Bibliothek und den Versionsordner laut Fehlermeldung. Der Bibliotheks- und Versionsordner für die obige Fehlermeldung befindet sich beispielsweise unter "Android.Support.v4\22.2.1":
Löschen Sie den Inhalt des Versionsordners. Stellen Sie sicher, dass Sie die ZIP-Datei sowie die Unterverzeichnisse content und embedded in diesem Ordner entfernen. Für die oben gezeigte Beispielfehlermeldung werden die Dateien und Unterverzeichnisse, die in diesem Screenshot angezeigt werden (content, embedded und android_m2repository_r16. zip) gelöscht:
Achten Sie unbedingt darauf, den gesamten Inhalt dieses Ordners zu löschen. Obwohl dieser Ordner anfangs die "fehlende" android_m2repository_r16.zip Datei enthalten kann, wurde diese Datei möglicherweise teilweise heruntergeladen oder beschädigt.
Erstellen Sie das Projekt neu . Dadurch wird der Buildprozess dazu führen, dass die fehlende Bibliothek erneut heruntergeladen wird.
In den meisten Fällen wird der Buildfehler durch diese Schritte behoben, und Sie können fortfahren. Wenn das Löschen dieser Bibliothek den Buildfehler nicht behebt, müssen Sie die android_m2repository_r_nn_.zip Datei manuell herunterladen und installieren, wie im nächsten Abschnitt beschrieben.
Manuelles Herunterladen von m2repository
Wenn Sie die oben beschriebenen schritte für die automatische Wiederherstellung verwendet haben und weiterhin Buildfehler haben, können Sie die android_m2repository_r_nn_.zip Datei (mithilfe eines Webbrowsers) manuell herunterladen und gemäß den folgenden Schritten installieren. Diese Vorgehensweise ist auch dann nützlich, wenn Sie auf dem Entwicklungscomputer nicht über Internetzugriff verfügen, aber das Archiv mithilfe eines anderen Computers herunterladen können.
Laden Sie die datei android_m2repository_r_nn_.zip herunter, die der Fehlermeldung entspricht – Links werden in der folgenden Liste bereitgestellt (zusammen mit dem entsprechenden MD5-Hash der URL jedes Links):
android_m2repository_r33.zip – 5FB756A25962361D17BBE99C3B3FCC44
android_m2repository_r32.zip – F16A3455987DBAE5783F058F19F7FCDF
android_m2repository_r31.zip – 99A8907CE2324316E754A95E4C2D786E
android_m2repository_r30.zip – 05AD180B8BDC7C21D6BCB94DDE7F2C8F
android_m2repository_r29.zip – 2A3A8A6D6826EF6CC653030E7D695C41
android_m2repository_r28.zip – 17BE247580748F1EDB72E9F374AA0223
android_m2repository_r27.zip – C9FD4FCD69D7D12B1D9DF076B7BE4E1C
android_m2repository_r26.zip – 8157FC1C311BB36420C1D8992AF54A4D
android_m2repository_r25.zip – 0B3F1796C97C707339FB13AE8507AF50
android_m2repository_r24.zip – 8E3C9EC713781EDFE1EFBC5974136BEA
android_m2repository_r23.zip – D5BB66B3640FD9B9C6362C9DB5AB0FE7
android_m2repository_r22.zip – 96659D653BDE0FAEDB818170891F2BB0
android_m2repository_r21.zip – CD3223F2EFE068A26682B9E9C4B6FBB5
android_m2repository_r20.zip – 650E58DF02DB1A832386FA4A2DE46B1A
android_m2repository_r19.zip – 263B062D6EFAA8AEE39E9460B8A5851A
android_m2repository_r18.zip – 25947AD38DCB4865ABEB6152FAFDA0E
android_m2repository_r17.zip – 4905474F44AE5F35A6BA9D3C117EFD8
android_m2repository_r16.zip – 0595E577D19D31708195A83087881E6
Wenn das m2repository-Archiv in dieser Tabelle nicht angezeigt wird, können Sie die Download-URL erstellen, indem Sie
https://dl-ssl.google.com/android/repository/
dem Namen der herunterzuladenden m2repository-Datei voranstellen. Verwenden Siehttps://dl-ssl.google.com/android/repository/android\_m2repository\_r_nn_.zip
z. B. zum Herunterladen android_m2repository_r_nn_.zip.Benennen Sie die Datei in den entsprechenden MD5-Hash der Download-URL um, wie in der obigen Tabelle gezeigt. Wenn Sie z. B. android_m2repository_r25.zip heruntergeladen haben, benennen Sie sie in 0B3F1796C97C707339FB13AE8507AF50.zip um. Wenn der MD5-Hash für die Download-URL der heruntergeladenen Datei nicht in der Tabelle angezeigt wird, können Sie einen Online-MD5-Generator verwenden, um die URL in eine MD5-Hashzeichenfolge zu konvertieren.
Kopieren Sie die Datei in den Xamarin-Ordner zips:
Unter Windows befindet sich dieser Ordner unter "C:\Users\username\AppData\Local\Xamarin\zips".
Unter Mac OS X befindet sich dieser Ordner unter /Users/Benutzername/.local/share/Xamarin/zips.
Der folgende Screenshot veranschaulicht beispielsweise das Ergebnis, wenn android_m2repository_r16.zip heruntergeladen und in den MD5-Hash seiner Download-URL unter Windows umbenannt wird:
Wenn dieser Buildfehler nicht behoben wird, müssen Sie die android_m2repository_r_nn_.zip Datei manuell herunterladen, entzippen und den Inhalt installieren, wie im nächsten Abschnitt beschrieben.
Manuelles Herunterladen und Installieren von m2repository-Dateien
Der vollständig manuelle Prozess zum Wiederherstellen von m2repository-Fehlern umfasst das Herunterladen der android_m2repository_r_nn_.zip Datei (mithilfe eines Webbrowsers), das Entzipping und das Kopieren des Inhalts in das Supportbibliotheksverzeichnis auf Ihrem Computer. Im folgenden Beispiel wird die Wiederherstellung nach folgender Fehlermeldung durchgeführt:
Unzipping failed. Please download https://dl-ssl.google.com/android/repository/android_m2repository_r25.zip and extract it to the C:\Users\mgm\AppData\Local\Xamarin\Android.Support.v4\23.1.1\content directory.
Führen Sie die folgenden Schritte aus, um m2repository herunterzuladen und den Inhalt zu installieren:
Löschen Sie den Inhalt des Bibliotheksordners laut Fehlermeldung. In der obigen Fehlermeldung würden Sie beispielsweise den Inhalt von C:\Users\username\AppData\Local\Xamarin\Android.Support.v4\23.1.1.0 löschen. Wie bereits beschrieben, müssen Sie den gesamten Inhalt dieses Verzeichnisses löschen:
Laden Sie die android_m2repository_r_nn_.zip Datei von Google herunter, die der Fehlermeldung entspricht (siehe Tabelle im vorherigen Abschnitt für Links).
Extrahieren Sie dieses ZIP-Archiv an einem beliebigen Speicherort (z. B. auf dem Desktop). Dadurch sollte ein Verzeichnis erstellt werden, das dem Namen des ZIP-Archivs entspricht. In diesem Verzeichnis sollten Sie ein Unterverzeichnis mit dem Namen m2repository finden:
Erstellen Sie im Bibliotheksverzeichnis mit Versionsangabe, das Sie in Schritt 1 gelöscht haben, die Unterverzeichnisse content und embedded neu. Der folgende Screenshot veranschaulicht beispielsweise Inhalte und eingebettete Unterverzeichnisse, die im Ordner 23.1.1.0 für android_m2repository_r25.zip erstellt werden:
Kopieren Sie m2repository aus der extrahierten ZIP-Datei in das Verzeichnis content, das Sie im vorherigen Schritt erstellt haben:
Navigieren Sie im extrahierten .zip Verzeichnis zu m2repository\com\android\support\support-v4 , und öffnen Sie den Ordner, der der oben erstellten Versionsnummer entspricht (in diesem Beispiel 23.1.1):
Kopieren Sie alle Dateien in diesem Ordner in das Verzeichnis embedded, das Sie in Schritt 4 erstellt haben:
Überprüfen Sie, ob alle Dateien kopiert wurden. Das embedded-Verzeichnis sollte nun Dateien wie JAR, AAR und POM enthalten.
Entzippen Sie den Inhalt aller extrahierten AAR-Dateien in das embedded-Verzeichnis. Versehen Sie unter Windows die AAR-Datei mit einer ZIP-Erweiterung, öffnen Sie sie, und kopieren Sie den Inhalt in das embedded-Verzeichnis. Entzippen Sie die AAR-Datei unter macOS im Terminal mit dem Befehl unzip (z. B. unzip file.aar).
An diesem Punkt haben Sie die fehlenden Komponenten manuell installiert, und das Projekt sollte ohne Fehler erstellt werden. Falls nicht, überprüfen Sie, ob Sie die ZIP-Archivversion von m2repository heruntergeladen haben, die exakt der in der Fehlermeldung erwähnten Version entspricht, und ob Sie den Inhalt an den richtigen Speicherorten installiert haben, wie in den obigen Schritten beschrieben.
Zusammenfassung
In diesem Artikel wurde die Wiederherstellung nach häufig während des automatischen Downloads und der Installation von Abhängigkeitsbibliotheken auftretenden Fehlern erläutert. Es wurde beschrieben, wie die problematische Bibliothek gelöscht und das Projekt neu erstellt wird, um die Bibliothek erneut herunterzuladen und zu installieren. Das Herunterladen der Bibliothek und ihre Installation im Ordner zips wurden beschrieben. Außerdem wurde ein ausführlicheres Verfahren zum manuellen Herunterladen und Installieren der erforderlichen Dateien als Möglichkeit zum Umgehen von Problemen, die nicht automatisch gelöst werden können, beschrieben.