Partilhar via


Como posso instalar manualmente as bibliotecas de suporte do Android exigidas pelos pacotes Xamarin.Android.Support?

Etapas de exemplo para Xamarin.Android.Support.v4

Baixe o pacote NuGet Xamarin.Android.Support desejado (por exemplo, instalando-o com o gerenciador de pacotes NuGet).

Use ildasm para verificar qual versão do android_m2repository.zip o pacote NuGet precisa:

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

Exemplo de saída:

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

Faça o download android_m2repository.zip do Google usando o URL retornado do ildasm. Como alternativa, você pode verificar qual versão do Repositório de Suporte do Android você instalou atualmente no Gerenciador do SDK do Android:

Se a versão corresponder à que você precisa para o pacote NuGet, você não precisará baixar nada novo. Em vez disso, você pode compactar novamente o diretório m2repository existente que está localizado em extras\android no caminho do SDK (conforme mostrado na parte superior da janela do Android SDK Manager).

Calcule o hash MD5 da URL retornada do ildasm. Formate a cadeia de caracteres resultante para usar todas as letras maiúsculas e sem espaços. Por exemplo, ajuste a $url variável conforme necessário e execute as 2 linhas a seguir (com base no código C# original do Xamarin.Android) no 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 ""

Exemplo de saída:

F16A3455987DBAE5783F058F19F7FCDF

Copie android_m2repository.zip para a pasta %LOCALAPPDATA%\Xamarin\zips\ . Renomeie o arquivo para usar o hash MD5 da etapa de cálculo de hash MD5 anterior. Por exemplo:

%LOCALAPPDATA%\Xamarin\zips\F16A3455987DBAE5783F058F19F7FCDF.zip

(Opcional) Descompacte o arquivo em %LOCALAPPDATA%\Xamarin\Xamarin.Android.Support.v4\23.4.0.0\content\ (criando um subdiretório content\m2repository ). Se você pular essa etapa, a primeira compilação que usa a biblioteca levará um pouco mais de tempo, pois precisará concluir essa etapa. O número da versão do subdiretório (23.4.0.0 neste exemplo) não é exatamente o mesmo que a versão do pacote NuGet. Você pode usar ildasm para encontrar o número de versão correto:

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

Exemplo de saída:

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

Próximas etapas

Este documento discute o comportamento atual em agosto de 2016. A técnica descrita neste documento não faz parte do conjunto de testes estável do Xamarin, portanto, pode quebrar no futuro.

Para obter mais assistência, entrar em contato conosco ou se esse problema permanecer mesmo depois de utilizar as informações acima, consulte Quais opções de suporte estão disponíveis para o Xamarin? para obter informações sobre opções de contato, sugestões, bem como como registrar um novo bug, se necessário.