共用方式為


解析程式庫安裝錯誤

在某些情況下,安裝 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_r18android_m2repository_r25

從 m2 自動復原錯誤

此問題通常可藉由刪除有問題的連結庫,並根據下列步驟進行重建來補救:

  1. 瀏覽至電腦上的支持連結庫目錄:

    • 在 Windows 上,支持連結庫位於 C:\Users\username\AppData\Local\Xamarin

    • 在 Mac OS X 上,支持連結庫位於 /Users/username/.local/share/Xamarin

  2. 找出對應至錯誤訊息的連結庫和版本資料夾。 例如,上述錯誤訊息的連結庫和版本資料夾位於 Android.Support.v4\22.2.1

    22.2.1 支援連結庫的資料夾位置範例

  3. 刪除版本資料夾的內容。 請務必移除 .zip 檔案,以及 此資料夾中的內容內嵌 子目錄。 針對上述範例錯誤訊息,將會刪除此螢幕快照中所示的檔案和子目錄(內容內嵌android_m2repository_r16.zip

    22.2.1 支援的連結庫資料夾範例內容

    請注意,請務必刪除 此資料夾的整個 內容。 雖然此資料夾一開始可能包含「遺失」 android_m2repository_r16.zip 檔案,但此檔案可能已部分下載或損毀。

  4. 重建專案 – 這麼做會導致建置程式重新下載遺失的連結庫。

在大部分情況下,這些步驟會解決建置錯誤,並允許您繼續。 如果刪除此連結庫無法解決建置錯誤,您必須依照下一節所述手動下載並安裝 android_m2repository_r_nn_.zip 檔案。

手動下載 m2repository

如果您嘗試使用上述的自動復原步驟,但仍發生建置錯誤,您可以手動下載 android_m2repository_r_nn_.zip 檔案(使用網頁瀏覽器),並根據下列步驟進行安裝。 如果您的開發計算機上沒有因特網存取,但您可以使用不同的計算機下載封存,此程式也很有用。

  1. 下載對應至錯誤訊息的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

  2. 將檔案重新命名為下載 URL 的對應 MD5 哈希,如上表所示。 例如,如果您下載 android_m2repository_r25.zip,請將它重新命名為 0B3F1796C97C707339FB13AE8507AF50.zip。 如果數據表中未顯示所下載檔案下載 URL 的 MD5 哈希,您可以使用 線上 MD5 產生器 將 URL 轉換成 MD5 哈希字串。

  3. 將檔案複製到 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 哈希時的結果:

    重新命名為 0595E577D19D31708195A83087881EE6.zip的r16.zip存放庫範例

如果此程式無法解決建置錯誤,您必須手動下載 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 並安裝其內容:

  1. 刪除對應至錯誤訊息的連結庫資料夾內容。 例如,在上述錯誤訊息中,您會刪除 C:\Users\username\AppData\Local\Xamarin\Android.Support.v4\23.1.1.0 的內容 如先前所述,您必須刪除此目錄的整個內容:

    從 23.1.1.0 資料夾中刪除內容、內嵌和android_m2repository資料夾

  2. 從Google下載對應至錯誤訊息的android_m2repository_r_nn_.zip檔案(如需連結,請參閱上一節中的表格)。

  3. 將此 .zip 封存解壓縮到任何位置(例如桌面)。 這應該會建立對應至.zip封存名稱的目錄。 在此目錄中,您應該會找到名為 m2repository 的子目錄:

    在解壓縮的 zip 封存中找到 m2repository 資料夾

  4. 在您在步驟 1 中清除的版本連結庫目錄中,重新建立 內容內嵌 子目錄。 例如,下列螢幕快照說明在 android_m2repository_r25.zip23.1.1.0 資料夾中建立的內容內嵌子目錄:

    在 23.1.1.0 資料夾中建立內容和內嵌資料夾

  5. 將 m2repository 從擷取.zip複製到您在上一個步驟中建立的內容目錄:

    複製到 23.1.1.0/content 資料夾的 m2repository 螢幕快照

  6. 在解壓縮 .zip 目錄中,流覽至 m2repository\com\android\support\support-v4 ,然後開啟對應上述版本號碼的資料夾(在此範例中為 23.1.1):

    support-v4/23.1.1 資料夾中所包含的檔案範例清單

  7. 將此資料夾中 的所有檔案複製到步驟 4 中建立的內嵌 目錄:

    複製到 23.1.1.0/embedded 資料夾的檔案範例

  8. 確認已複製所有檔案。 內目錄現在應該包含.jar.aar.pom檔案。

  9. 將任何擷 取的 .aar 檔案的內容解壓縮到 內嵌 目錄。 在 Windows 上,將.zip擴展名附加.aar 檔案、開啟它,並將內容複製到內嵌目錄。 在macOS上,使用終端機中的解壓縮命令來解壓縮 .aar 檔案(例如,解壓縮 file.aar)。

此時,您已手動安裝遺漏的元件,而且您的項目應該會建置而不會發生錯誤。 如果沒有,請確認您已下載 與錯誤訊息中版本完全對應的 m2repository .zip 封存版本,並確認您已依照上述步驟所述,在正確的位置安裝其內容。

摘要

本文說明如何從自動下載和安裝相依性連結庫期間發生的常見錯誤復原。 它描述如何刪除有問題的連結庫,並重建專案,以重新下載並重新安裝連結庫。 它描述如何下載連結庫,並將其安裝在 zips 資料夾中。 它還描述手動下載和安裝必要檔案的更相關程式,作為解決無法透過自動方法解決問題的方法。