Risoluzione degli errori di installazione di librerie
In alcuni casi, è possibile che si verifichino errori durante l'installazione delle librerie di supporto android. Questa guida fornisce soluzioni alternative per alcuni errori comuni.
Panoramica
Durante la compilazione di un progetto di app Xamarin.Android, è possibile che si verifichino errori di compilazione quando Visual Studio o Visual Studio per Mac tentare di scaricare e installare librerie di dipendenze. Molti di questi errori sono causati da problemi di connettività di rete, danneggiamento dei file o controllo delle versioni. Questa guida descrive gli errori di installazione della libreria di supporto più comuni e illustra i passaggi per risolvere questi problemi e ripristinare la compilazione del progetto dell'app.
Errori durante il download di m2Repository
È possibile che vengano visualizzati errori m2repository quando si fa riferimento a un pacchetto NuGet delle librerie di supporto Android o dei servizi Google Play. Il messaggio di errore è simile al seguente:
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.
Questo esempio è per android_m2repository_r16, ma è possibile che venga visualizzato lo stesso messaggio di errore per una versione diversa, ad esempio android_m2repository_r18 o android_m2repository_r25.
Ripristino automatico da errori m2repository
Spesso, questo problema può essere risolto eliminando la libreria problematica e ricompilando in base alla procedura seguente:
Passare alla directory della libreria di supporto nel computer:
In Windows le librerie di supporto si trovano in C:\Users\username\AppData\Local\Xamarin.
In Mac OS X le librerie di supporto si trovano in /Users/username/.local/share/Xamarin.
Individuare la libreria e la cartella della versione corrispondenti al messaggio di errore. Ad esempio, la libreria e la cartella della versione per il messaggio di errore precedente si trova in Android.Support.v4\22.2.1:
Eliminare il contenuto della cartella della versione. Assicurarsi di rimuovere il file .zip , nonché il contenuto e le sottodirectory incorporate all'interno di questa cartella. Per il messaggio di errore di esempio illustrato sopra, i file e le sottodirectory mostrati in questo screenshot (contenuto, incorporato e android_m2repository_r16.zip) devono essere eliminati:
Si noti che è importante eliminare l'intero contenuto di questa cartella. Anche se questa cartella può inizialmente contenere il file di android_m2repository_r16.zip "mancante", questo file potrebbe essere stato parzialmente scaricato o danneggiato.
Ricompilare il progetto. In questo modo, il processo di compilazione scaricherà nuovamente la libreria mancante.
Nella maggior parte dei casi, questi passaggi risolveranno l'errore di compilazione e consentiranno di continuare. Se l'eliminazione di questa libreria non risolve l'errore di compilazione, è necessario scaricare e installare manualmente il file android_m2repository_r_nn_.zip come descritto nella sezione successiva.
Download manuale di m2repository
Se si è provato a usare i passaggi di ripristino automatico precedenti e si verificano ancora errori di compilazione, è possibile scaricare manualmente il file di android_m2repository_r_nn_.zip (usando un Web browser) e installarlo in base alla procedura seguente. Questa procedura è utile anche se non si ha accesso a Internet nel computer di sviluppo, ma si è in grado di scaricare l'archivio usando un computer diverso.
Scaricare il file di android_m2repository_r_nn_.zip che corrisponde al messaggio di errore: i collegamenti sono disponibili nell'elenco seguente (insieme all'hash MD5 corrispondente dell'URL di ogni collegamento):
android_m2repository_r33.zip – 5FB756A25962361D17BBE99C3B3FCC44
android_m2repository_r32.zip : F16A3455987DBAE5783F058F19F7FCDF
android_m2repository_r31.zip – 99A8907CE2324316E754A95E4C2D786E
android_m2repository_r30.zip - 05AD180B8BDC7C21D6BCB94DE7F2C8F
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 – 25947AD38DCB4865ABEB61522FAFDA0E
android_m2repository_r17.zip – 49054774F44AE5F35A6BA9D3C117EFD8
android_m2repository_r16.zip – 0595E577D19D31708195A8308781EE6
Se l'archivio m2repository non viene visualizzato in questa tabella, è possibile creare l'URL di download anteponendo
https://dl-ssl.google.com/android/repository/
al nome di m2repository da scaricare. Ad esempio, usarehttps://dl-ssl.google.com/android/repository/android\_m2repository\_r_nn_.zip
per scaricare android_m2repository_r_nn_.zip.Rinominare il file con l'hash MD5 corrispondente dell'URL di download, come illustrato nella tabella precedente. Ad esempio, se è stato scaricato android_m2repository_r25.zip, rinominarlo in 0B3F1796C97C707339FB13AE8507AF50.zip. Se l'hash MD5 per l'URL di download del file scaricato non viene visualizzato nella tabella, è possibile usare un generatore MD5 online per convertire l'URL in una stringa hash MD5.
Copiare il file nella cartella ZIPS di Xamarin:
In Windows questa cartella si trova in C:\Users\username\AppData\Local\Xamarin\zips.
In Mac OS X questa cartella si trova in /Users/username/.local/share/Xamarin/zips.
Ad esempio, lo screenshot seguente illustra il risultato quando android_m2repository_r16.zip viene scaricato e rinominato nell'hash MD5 dell'URL di download in Windows:
Se questa procedura non risolve l'errore di compilazione, è necessario scaricare manualmente il file android_m2repository_r_nn_.zip , decomprimerlo e installarlo come descritto nella sezione successiva.
Download manuale e installazione di file m2repository
Il processo completamente manuale per il ripristino da errori m2repository comporta il download del file android_m2repository_r_nn_.zip (usando un Web browser), discomprimerlo e copiarne il contenuto nella directory della libreria di supporto nel computer. Nell'esempio seguente verrà ripristinato il messaggio di errore seguente:
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.
Seguire questa procedura per scaricare m2repository e installarlo:
Eliminare il contenuto della cartella della libreria corrispondente al messaggio di errore. Ad esempio, nel messaggio di errore precedente si elimina il contenuto di C:\Users\username\AppData\Local\Xamarin\Android.Support.v4\23.1.1.0. Come descritto in precedenza, è necessario eliminare l'intero contenuto di questa directory:
Scaricare il file android_m2repository_r_nn_.zip da Google che corrisponde al messaggio di errore (vedere la tabella nella sezione precedente per i collegamenti).
Estrai questo .zip archivio in qualsiasi posizione (ad esempio desktop). Verrà creata una directory che corrisponde al nome dell'archivio .zip . All'interno di questa directory è necessario trovare una sottodirectory denominata m2repository:
Nella directory della libreria con versione rimossa nel passaggio 1 ricreare il contenuto e le sottodirectory incorporate . Ad esempio, lo screenshot seguente illustra il contenuto e le sottodirectory incorporate create nella cartella 23.1.1.0 per android_m2repository_r25.zip:
Copiare m2repository dal .zip estratto nella directory del contenuto creata nel passaggio precedente:
Nella directory .zip estratta passare a m2repository\com\android\support\support-v4 e aprire la cartella corrispondente al numero di versione creato in precedenza (in questo esempio 23.1.1):
Copiare tutti i file in questa cartella nella directory incorporata creata nel passaggio 4:
Verificare che tutti i file vengano copiati. La directory incorporata dovrebbe ora contenere file come .jar, aar e pom.
Decomprimere il contenuto di tutti i file con estensione aar estratti nella directory incorporata. In Windows aggiungere un'estensione .zip al file con estensione aar , aprirla e copiare il contenuto nella directory incorporata . In macOS decomprimere il file con estensione aar usando il comando unzip nel terminale ( ad esempio, decomprimere file.aar).
A questo punto, sono stati installati manualmente i componenti mancanti e il progetto deve essere compilato senza errori. In caso contrario, verificare di aver scaricato la versione di archivio m2repository .zip che corrisponde esattamente alla versione nel messaggio di errore e verificare di aver installato il relativo contenuto nei percorsi corretti, come descritto nei passaggi precedenti.
Riepilogo
Questo articolo ha illustrato come eseguire il ripristino da errori comuni che possono verificarsi durante il download automatico e l'installazione delle librerie di dipendenze. Descrive come eliminare la libreria problematica e ricompilare il progetto come modo per scaricare e reinstallare la libreria. Descrive come scaricare la libreria e installarla nella cartella zips . Descrive inoltre una procedura più coinvolta per scaricare e installare manualmente i file necessari come modo per risolvere i problemi che non possono essere risolti tramite mezzi automatici.