Jak můžu ručně nainstalovat podpůrné knihovny Androidu vyžadované v balíčcích Xamarin.Android.Support?
Příklad kroků pro Xamarin.Android.Support.v4
Stáhněte požadovaný balíček NuGet Xamarin.Android.Support (například jeho instalací pomocí správce balíčků NuGet).
Slouží ildasm
ke kontrole, jakou verzi android_m2repository.zip balíček NuGet potřebuje:
ildasm /caverbal /text /item:Xamarin.Android.Support.v4 packages\Xamarin.Android.Support.v4.23.4.0.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll | findstr SourceUrl
Příklad výstupu:
property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')
property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')
property string 'SourceUrl' = string('https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip')
Stáhněte si android_m2repository.zip z Googlu pomocí adresy URL vrácené z ildasm. Případně můžete zkontrolovat, jakou verzi úložiště podpory androidu máte aktuálně nainstalovanou ve Správci sady Android SDK:
Pokud verze odpovídá verzi, kterou potřebujete pro balíček NuGet, nemusíte stahovat nic nového. Místo toho můžete znovu zazipovat existující adresář m2repository umístěný pod extras\android v cestě SDK (jak je znázorněno v horní části okna Správce sady Android SDK).
Vypočítejte hodnotu hash MD5 adresy URL vrácené z ildasm. Naformátujte výsledný řetězec tak, aby používal všechna velká písmena a žádné mezery. Upravte proměnnou $url
podle potřeby a pak v PowerShellu spusťte následující 2 řádky (na základě původního kódu jazyka C#z Xamarin.Android):
$url = "https://dl-ssl.google.com/android/repository/android_m2repository_r32.zip"
(([System.Security.Cryptography.MD5]::Create()).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($url)) | %{ $_.ToString("X02") }) -join ""
Příklad výstupu:
F16A3455987DBAE5783F058F19F7FCDF
Zkopírujte android_m2repository.zip do složky %LOCALAPPDATA%\Xamarin\zips\ . Přejmenujte soubor tak, aby používal hodnotu hash MD5 z předchozího kroku výpočtu hodnoty hash MD5. Příklad:
%LOCALAPPDATA%\Xamarin\zips\F16A3455987DBAE5783F058F19F7FCDF.zip
(Volitelné) Rozbalte soubor do složky %LOCALAPPDATA%\Xamarin\Xamarin.Android.Support.v4\23.4.0.0\content\ (vytvoření podadresáře obsahu\m2repository ). Pokud tento krok přeskočíte, první sestavení, které používá knihovnu, bude trvat o něco déle, protože tento krok bude potřeba dokončit.
Číslo verze pro podadresář (v tomto příkladu 23.4.0.0 ) není úplně stejné jako verze balíčku NuGet. Můžete použít ildasm
k vyhledání správného čísla verze:
ildasm /caverbal /text /item:Xamarin.Android.Support.v4 packages\Xamarin.Android.Support.v4.23.4.0.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll | findstr /C:"string 'Version'"
Příklad výstupu:
property string 'Version' = string('23.4.0.0')}
property string 'Version' = string('23.4.0.0')}
property string 'Version' = string('23.4.0.0')}
Další kroky
Tento dokument popisuje současné chování od srpna 2016. Technika popsaná v tomto dokumentu není součástí stabilní testovací sady pro Xamarin, takže by se mohla v budoucnu přerušit.
Pokud potřebujete další pomoc, kontaktujte nás nebo pokud tento problém přetrvává i po použití výše uvedených informací, přečtěte si, jaké možnosti podpory jsou pro Xamarin k dispozici? Informace o možnostech kontaktu, návrzích a o tom, jak v případě potřeby vytvořit novou chybu.