Udostępnij za pomocą


Jak można ręcznie zainstalować biblioteki obsługi systemu Android wymagane przez pakiety Xamarin.Android.Support?

Przykładowe kroki dla platformy Xamarin.Android.Support.v4

Pobierz żądany pakiet NuGet Xamarin.Android.Support (na przykład przez zainstalowanie go za pomocą menedżera pakietów NuGet).

Użyj ildasm polecenia , aby sprawdzić, która wersja android_m2repository.zip pakiet NuGet wymaga:

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

Przykładowe wyjście:

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')

Pobierz android_m2repository.zip z google przy użyciu adresu URL zwróconego z adresu ildasm. Alternatywnie możesz sprawdzić, która wersja repozytorium pomocy technicznej systemu Android jest obecnie zainstalowana w Menedżerze zestawu Android SDK:

Jeśli wersja jest zgodna z wersją potrzebną dla pakietu NuGet, nie musisz pobierać niczego nowego. Zamiast tego możesz ponownie spakować istniejący katalog m2repository znajdujący się w obszarze extras\android w ścieżce zestawu SDK (jak pokazano w górnej części okna Menedżera zestawu SDK systemu Android).

Oblicz skrót MD5 adresu URL zwróconego z adresu ildasm. Sformatuj wynikowy ciąg tak, aby używał wszystkich wielkich liter i bez spacji. Na przykład dostosuj zmienną $url zgodnie z potrzebami, a następnie uruchom następujące 2 wiersze (na podstawie oryginalnego kodu C# z platformy Xamarin.Android) w programie PowerShell:

$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 ""

Przykładowe wyjście:

F16A3455987DBAE5783F058F19F7FCDF

Skopiuj android_m2repository.zip do folderu %LOCALAPPDATA%\Xamarin\zips\ . Zmień nazwę pliku, aby użyć skrótu MD5 z poprzedniego kroku obliczania skrótu MD5. Na przykład:

%LOCALAPPDATA%\Xamarin\zips\F16A3455987DBAE5783F058F19F7FCDF.zip

(Opcjonalnie) Rozpakuj plik do folderu %LOCALAPPDATA%\Xamarin\Xamarin.Android.Support.v4\23.4.0.0\content\ (tworzenie podkatalogu content\m2repository ). Jeśli pominiesz ten krok, pierwsza kompilacja korzystająca z biblioteki zajmie nieco więcej czasu, ponieważ będzie musiała wykonać ten krok. Numer wersji podkatalogu (w tym przykładzie 23.4.0.0 ) nie jest taki sam jak wersja pakietu NuGet. Aby znaleźć prawidłowy numer wersji, możesz użyć ildasm polecenia :

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'"

Przykładowe wyjście:

property string 'Version' = string('23.4.0.0')}
property string 'Version' = string('23.4.0.0')}
property string 'Version' = string('23.4.0.0')}

Następne kroki

W tym dokumencie omówiono bieżące zachowanie od sierpnia 2016 r. Technika opisana w tym dokumencie nie jest częścią stabilnego zestawu testów dla platformy Xamarin, więc może to spowodować przerwanie w przyszłości.

Aby uzyskać dalszą pomoc, skontaktować się z nami lub jeśli ten problem pozostanie jeszcze po wykorzystaniu powyższych informacji, zobacz Jakie opcje pomocy technicznej są dostępne dla platformy Xamarin? aby uzyskać informacje na temat opcji kontaktu, sugestii, a także sposobu tworzenia nowej usterki w razie potrzeby.