次の方法で共有


ライブラリ インストール エラーの解決

"場合によっては、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 などの別のバージョンでも同じエラー メッセージが表示される場合があります。

m2repository エラーからの自動復旧

多くの場合、この問題は、次の手順に従って問題のあるライブラリを削除してリビルドすることで解決できます。

  1. お使いのコンピューターのサポート ライブラリ ディレクトリに移動します。

    • Windows では、サポート ライブラリは C:\Users\username\AppData\Local\Xamarin にあります。

    • Mac OS X では、サポート ライブラリは、/Users/ユーザー名/.local/share/Xamarin にあります。

  2. エラー メッセージに対応するライブラリとバージョン フォルダーを見つけます。 たとえば、上記のエラー メッセージのライブラリとバージョン フォルダーは Android.Support.v4\22.2.1 にあります。

    22.2.1 サポート ライブラリ フォルダーの場所の例

  3. そのバージョン フォルダーの内容を削除します。 このフォルダー内の .zip ファイル、および contentembedded サブディレクトリを必ず削除してください。 上に示したエラー メッセージの例では、このスクリーンショットに示されているファイルとサブディレクトリ (contentembedded、および android_m2repository_r16.zip) を削除します。

    22.2.1 サポート ライブラリ フォルダーの内容の例

    このフォルダーのコンテンツ全体を削除することが重要です。 このフォルダーには、"欠落した" android_m2repository_r16.zip ファイルが最初に含まれる場合がありますが、このファイルが部分的にダウンロードされているか、破損している可能性があります。

  4. プロジェクトをリビルドします。これにより、ビルド プロセスによって、欠落しているライブラリが再ダウンロードされます。

ほとんどの場合、これらの手順でビルド エラーが解決され、続行できるようになります。 このライブラリを削除してもビルド エラーが解決しない場合は、次のセクションの説明に従って、android_m2repository_r_nn_.zip ファイルを手動でダウンロードしてインストールする必要があります。

m2repository の手動ダウンロード

上記の自動復旧手順を試してもビルド エラーが発生する場合は、次の手順に従って、(Web ブラウザーを使用して) android_m2repository_r_nn_.zip ファイルを手動でダウンロードしてインストールできます。 この手順は、開発用コンピューターでインターネットにアクセスできないが、別のコンピューターを使用してアーカイブをダウンロードできる場合にも役立ちます。

  1. エラー メッセージに対応する android_m2repository_r_nn_.zip ファイルをダウンロードします。リンクは、次の一覧に (各リンクの URL の対応する MD5 ハッシュとともに) 示されています。

    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/ユーザー名/.local/share/Xamarin/zips にあります。

    たとえば、次のスクリーンショットは、android_m2repository_r16.zip がダウンロードされ、Windows 上でそのダウンロード URL の MD5 ハッシュに名前が変更された場合の結果を示しています。

    r16.zip リポジトリの名前を 0595E577D19D31708195A83087881EE6.zip に変更する例

この手順でビルド エラーが解決しない場合は、次のセクションの説明に従って、android_m2repository_r_nn_.zip ファイルを手動でダウンロードして解凍し、その内容をインストールする必要があります。

m2repository ファイルの手動ダウンロードとインストール

m2repository エラーから復旧するための完全な手動プロセスでは、(Web ブラウザーを使用して) 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 フォルダーからの content、embedded、および android_m2repository フォルダーの削除

  2. エラー メッセージに対応する android_m2repository_r_nn_.zip ファイルを Google からダウンロードします (リンクについては、前のセクションの表を参照してください)。

  3. この .zip アーカイブを任意の場所 (デスクトップなど) に展開します。 これにより、.zip アーカイブの名前に対応するディレクトリが作成されます。 このディレクトリ内に、m2repository という名前のサブディレクトリがあります。

    展開された zip アーカイブで見つかった m2repository フォルダー

  4. 手順 1 で消去した、バージョン管理されたライブラリ ディレクトリで、content および embedded サブディレクトリを再作成します。 たとえば、次のスクリーンショットは、android_m2repository_r25.zip23.1.1.0 フォルダーに content および embedded サブディレクトリが作成されることを示しています。

    23.1.1.0 フォルダーに content および embedded フォルダーを作成する

  5. m2repository を、展開した .zip から、前の手順で作成した content ディレクトリにコピーします。

    23.1.1.0/content フォルダーにコピーされた m2repository のスクリーンショット

  6. 展開した .zip ディレクトリで、m2repository\com\android\support\support-v4 を参照し、上で作成したバージョン番号に対応するフォルダーを開きます (この例では、23.1.1)。

    support-v4/23.1.1 フォルダーに含まれるファイルの一覧の例

  7. このフォルダー内のすべてのファイルを、手順 4 で作成した embedded ディレクトリにコピーします。

    23.1.1.0/embedded フォルダーにコピーされたファイルの例

  8. すべてのファイルがコピーされていることを確認します。 embedded ディレクトリには、.jar. aar. pom などのファイルが含まれているはずです。

  9. 展開した .aar ファイルの内容を embedded ディレクトリに解凍します。 Windows の場合は、.aar ファイルに .zip 拡張子を追加して開き、その内容を embedded ディレクトリにコピーします。 macOS の場合は、ターミナルで unzip コマンドを使用して .aar ファイルを解凍します (たとえば、unzip file.aar)。

この時点で、欠落しているコンポーネントが手動でインストールされているので、プロジェクトはエラーなしでビルドされます。 そうでない場合は、エラー メッセージ内のバージョンと正確に対応する m2repository .zip アーカイブ バージョンをダウンロードしていることと、その内容を、上記の手順で説明されている正しい場所にインストールしていることを確認してください。

まとめ

この記事では、依存関係ライブラリの自動ダウンロードおよびインストール中に発生する可能性のある一般的なエラーから復旧する方法を説明しました。 ライブラリを再ダウンロードして再インストールする方法として、問題のあるライブラリを削除し、プロジェクトをリビルドする方法について説明しました。 ライブラリをダウンロードし、それを zips フォルダーにインストールする方法について説明しました。 また、自動的な方法で解決できない問題に対処する方法として、必要なファイルを手動でダウンロードしてインストールする、より複雑な手順についても説明しました。