解析程式庫安裝錯誤
在某些情況下,安裝 Android 支援連結庫時可能會發生錯誤。 本指南提供一些常見錯誤的因應措施。
概觀
建置 Xamarin.Android 應用程式專案時,當 Visual Studio 或 Visual Studio for Mac 嘗試下載並安裝相依性連結庫時,您可能會收到建置錯誤。 其中許多錯誤是由網路連線問題、檔案損毀或版本控制問題所造成。 本指南說明最常見的支持連結庫安裝錯誤,並提供解決這些問題的步驟,並再次建置您的應用程式專案。
下載 m2Repository 時發生錯誤
當您參考 Android 支援連結庫或 Google Play 服務的 NuGet 套件時,您可能會看到 m2repository 錯誤。 該錯誤訊息類似如下:
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.
此範例適用於 android_m2repository_r16,但您可能會看到不同版本的相同錯誤訊息,例如 android_m2repository_r18 或 android_m2repository_r25。
從 m2 自動復原錯誤
此問題通常可藉由刪除有問題的連結庫,並根據下列步驟進行重建來補救:
瀏覽至電腦上的支持連結庫目錄:
在 Windows 上,支持連結庫位於 C:\Users\username\AppData\Local\Xamarin。
在 Mac OS X 上,支持連結庫位於 /Users/username/.local/share/Xamarin。
找出對應至錯誤訊息的連結庫和版本資料夾。 例如,上述錯誤訊息的連結庫和版本資料夾位於 Android.Support.v4\22.2.1:
刪除版本資料夾的內容。 請務必移除 .zip 檔案,以及 此資料夾中的內容 和 內嵌 子目錄。 針對上述範例錯誤訊息,將會刪除此螢幕快照中所示的檔案和子目錄(內容、 內嵌和 android_m2repository_r16.zip:
請注意,請務必刪除 此資料夾的整個 內容。 雖然此資料夾一開始可能包含「遺失」 android_m2repository_r16.zip 檔案,但此檔案可能已部分下載或損毀。
重建專案 – 這麼做會導致建置程式重新下載遺失的連結庫。
在大部分情況下,這些步驟會解決建置錯誤,並允許您繼續。 如果刪除此連結庫無法解決建置錯誤,您必須依照下一節所述手動下載並安裝 android_m2repository_r_nn_.zip 檔案。
手動下載 m2repository
如果您嘗試使用上述的自動復原步驟,但仍發生建置錯誤,您可以手動下載 android_m2repository_r_nn_.zip 檔案(使用網頁瀏覽器),並根據下列步驟進行安裝。 如果您的開發計算機上沒有因特網存取,但您可以使用不同的計算機下載封存,此程式也很有用。
下載對應至錯誤訊息的android_m2repository_r_nn_.zip檔案 – 下列清單中提供連結(以及每個連結 URL 的對應 MD5 哈希):
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 – 25947AD38DCB4865ABEB61522FAFDA0E
android_m2repository_r17.zip – 49054774F44AE5F35A6BA9D3C117EFD8
android_m2repository_r16.zip – 0595E577D19D31708195A83087881EE6
如果此表格中未顯示 m2repository 封存,您可以在要下載的 m2repository 名稱前面加上
https://dl-ssl.google.com/android/repository/
來建立下載 URL。 例如,使用https://dl-ssl.google.com/android/repository/android\_m2repository\_r_nn_.zip
下載 android_m2repository_r_nn_.zip。將檔案重新命名為下載 URL 的對應 MD5 哈希,如上表所示。 例如,如果您下載 android_m2repository_r25.zip,請將它重新命名為 0B3F1796C97C707339FB13AE8507AF50.zip。 如果數據表中未顯示所下載檔案下載 URL 的 MD5 哈希,您可以使用 線上 MD5 產生器 將 URL 轉換成 MD5 哈希字串。
將檔案複製到 Xamarin zips 資料夾:
在 Windows 上,此資料夾位於 C:\Users\username\AppData\Local\Xamarin\zips。
在 Mac OS X 上,此資料夾位於 /Users/username/.local/share/Xamarin/zips。
例如,下列螢幕快照說明下載android_m2repository_r16.zip,並將其重新命名為 Windows 上下載 URL 的 MD5 哈希時的結果:
如果此程式無法解決建置錯誤,您必須手動下載 android_m2repository_r_nn_.zip 檔案、解壓縮並安裝其內容,如下一節所述。
手動下載並安裝 m2repository 檔案
從 m2repository 錯誤復原的完整手動程式,需要下載 android_m2repository_r_nn_.zip 檔案(使用網頁瀏覽器)、將其解壓縮,並將其內容複製到您計算機上的支持連結庫目錄。 在下列範例中,我們將從此錯誤訊息中復原:
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.
使用下列步驟來下載 m2repository 並安裝其內容:
刪除對應至錯誤訊息的連結庫資料夾內容。 例如,在上述錯誤訊息中,您會刪除 C:\Users\username\AppData\Local\Xamarin\Android.Support.v4\23.1.1.0 的內容。 如先前所述,您必須刪除此目錄的整個內容:
從Google下載對應至錯誤訊息的android_m2repository_r_nn_.zip檔案(如需連結,請參閱上一節中的表格)。
將此 .zip 封存解壓縮到任何位置(例如桌面)。 這應該會建立對應至.zip封存名稱的目錄。 在此目錄中,您應該會找到名為 m2repository 的子目錄:
在您在步驟 1 中清除的版本連結庫目錄中,重新建立 內容 和 內嵌 子目錄。 例如,下列螢幕快照說明在 android_m2repository_r25.zip 的 23.1.1.0 資料夾中建立的內容和內嵌子目錄:
將 m2repository 從擷取.zip複製到您在上一個步驟中建立的內容目錄:
在解壓縮 的 .zip 目錄中,流覽至 m2repository\com\android\support\support-v4 ,然後開啟對應上述版本號碼的資料夾(在此範例中為 23.1.1):
將此資料夾中 的所有檔案複製到步驟 4 中建立的內嵌 目錄:
確認已複製所有檔案。 內嵌目錄現在應該包含.jar、.aar 和 .pom 等檔案。
將任何擷 取的 .aar 檔案的內容解壓縮到 內嵌 目錄。 在 Windows 上,將.zip擴展名附加至 .aar 檔案、開啟它,並將內容複製到內嵌目錄。 在macOS上,使用終端機中的解壓縮命令來解壓縮 .aar 檔案(例如,解壓縮 file.aar)。
此時,您已手動安裝遺漏的元件,而且您的項目應該會建置而不會發生錯誤。 如果沒有,請確認您已下載 與錯誤訊息中版本完全對應的 m2repository .zip 封存版本,並確認您已依照上述步驟所述,在正確的位置安裝其內容。
摘要
本文說明如何從自動下載和安裝相依性連結庫期間發生的常見錯誤復原。 它描述如何刪除有問題的連結庫,並重建專案,以重新下載並重新安裝連結庫。 它描述如何下載連結庫,並將其安裝在 zips 資料夾中。 它還描述手動下載和安裝必要檔案的更相關程式,作為解決無法透過自動方法解決問題的方法。