Partilhar via


Resolver Erros de Instalação da Biblioteca

Em alguns casos, você pode receber erros ao instalar as bibliotecas de suporte do Android. Este guia fornece soluções alternativas para alguns erros comuns.

Visão geral

Ao criar um projeto de aplicativo Xamarin.Android, você pode obter erros de build quando o Visual Studio ou o Visual Studio para Mac tentam baixar e instalar bibliotecas de dependência. Muitos desses erros são causados por problemas de conectividade de rede, corrupção de arquivos ou problemas de controle de versão. Este guia descreve os erros mais comuns de instalação da biblioteca de suporte e fornece as etapas para contornar esses problemas e criar o projeto do aplicativo novamente.

Erros ao baixar o m2Repository

Você pode ver erros de m2repository ao fazer referência a um pacote NuGet das Bibliotecas de Suporte do Android ou do Google Play Services. Essa mensagem de erro é semelhante à exibida a seguir:

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.

Este exemplo é para android_m2repository_r16, mas você pode ver essa mesma mensagem de erro para uma versão diferente, como android_m2repository_r18 ou android_m2repository_r25.

Recuperação automática de erros do m2repository

Muitas vezes, esse problema pode ser corrigido excluindo a biblioteca problemática e recompilando de acordo com estas etapas:

  1. Navegue até o diretório da biblioteca de suporte em seu computador:

    • No Windows, as bibliotecas de suporte estão localizadas em C:\Users\username\AppData\Local\Xamarin.

    • No Mac OS X, as bibliotecas de suporte estão localizadas em /Users/username/.local/share/Xamarin.

  2. Localize a biblioteca e a pasta de versão correspondentes à mensagem de erro. Por exemplo, a biblioteca e a pasta de versão da mensagem de erro acima estão localizadas em Android.Support.v4\22.2.1:

    Exemplo de local de pasta para a biblioteca de suporte 22.2.1

  3. Exclua o conteúdo da pasta de versão. Certifique-se de remover o arquivo .zip, bem como o conteúdo e os subdiretórios incorporados dentro desta pasta. Para a mensagem de erro de exemplo mostrada acima, os arquivos e subdiretórios mostrados nesta captura de tela (conteúdo, incorporado e android_m2repository_r16.zip) devem ser excluídos:

    Exemplo de conteúdo da pasta da biblioteca de suporte 22.2.1

    Observe que é importante excluir todo o conteúdo desta pasta. Embora esta pasta possa conter inicialmente o arquivo android_m2repository_r16.zip "ausente", este arquivo pode ter sido parcialmente baixado ou corrompido.

  4. Recompilar o projeto – isso fará com que o processo de compilação baixe novamente a biblioteca ausente.

Na maioria dos casos, essas etapas resolverão o erro de compilação e permitirão que você continue. Se a exclusão dessa biblioteca não resolver o erro de compilação, você deverá baixar e instalar manualmente o arquivo android_m2repository_r_nn_.zip conforme descrito na próxima seção.

Baixando manualmente o m2repository

Se você tentou usar as etapas de recuperação automática acima e ainda tem erros de compilação, pode baixar manualmente o arquivo android_m2repository_r_nn_.zip (usando um navegador da Web) e instalá-lo de acordo com as etapas a seguir. Este procedimento também é útil se você não tiver acesso à Internet em seu computador de desenvolvimento, mas puder baixar o arquivo usando um computador diferente.

  1. Baixe o arquivo android_m2repository_r_nn_.zip que corresponde à mensagem de erro – os links são fornecidos na lista a seguir (junto com o hash MD5 correspondente da URL de cada link):

    • 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

    Se o archive m2repository não for mostrado nesta tabela, você poderá criar a URL de download anexando https://dl-ssl.google.com/android/repository/ ao nome do m2repository a ser baixado. Por exemplo, use https://dl-ssl.google.com/android/repository/android\_m2repository\_r_nn_.zip para baixar android_m2repository_r_nn_.zip.

  2. Renomeie o arquivo para o hash MD5 correspondente do URL de download, conforme mostrado na tabela acima. Por exemplo, se você baixou android_m2repository_r25.zip, renomeie-o para 0B3F1796C97C707339FB13AE8507AF50.zip. Se o hash MD5 para a URL de download do arquivo baixado não for mostrado na tabela, você poderá usar um gerador MD5 online para converter a URL em uma cadeia de caracteres de hash MD5.

  3. Copie o arquivo para a pasta zips do Xamarin:

    • No Windows, essa pasta está localizada em C:\Users\username\AppData\Local\Xamarin\zips.

    • No Mac OS X, essa pasta está localizada em /Users/username/.local/share/Xamarin/zips.

    Por exemplo, a captura de tela a seguir ilustra o resultado quando android_m2repository_r16.zip é baixado e renomeado para o hash MD5 de sua URL de download no Windows:

    Exemplo do repositório r16.zip sendo renomeado para 0595E577D19D31708195A83087881EE6.zip

Se esse procedimento não resolver o erro de compilação, você deverá baixar manualmente o arquivo android_m2repository_r_nn_.zip , descompactá-lo e instalar seu conteúdo conforme descrito na próxima seção.

Baixando e instalando manualmente arquivos m2repository

O processo totalmente manual para recuperação de erros do m2repository envolve baixar o arquivo android_m2repository_r_nn_.zip (usando um navegador da web), descompactá-lo e copiar seu conteúdo para o diretório da biblioteca de suporte em seu computador. No exemplo a seguir, nos recuperaremos dessa mensagem de erro:

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.

Use as seguintes etapas para baixar o m2repository e instalar seu conteúdo:

  1. Exclua o conteúdo da pasta da biblioteca correspondente à mensagem de erro. Por exemplo, na mensagem de erro acima, você excluiria o conteúdo de C:\Users\username\AppData\Local\Xamarin\Android.Support.v4\23.1.1.0. Conforme descrito anteriormente, você deve excluir todo o conteúdo deste diretório:

    Excluindo pastas de conteúdo, incorporadas e android_m2repository da pasta 23.1.1.0

  2. Baixe o arquivo android_m2repository_r_nn_.zip do Google que corresponde à mensagem de erro (consulte a tabela na seção anterior para obter links).

  3. Extraia esse arquivo .zip para qualquer local (como a área de trabalho). Isso deve criar um diretório que corresponda ao nome do arquivo .zip . Dentro deste diretório, você deve encontrar um subdiretório chamado m2repository:

    Pasta m2repository encontrada no arquivo zip extraído

  4. No diretório de biblioteca com versão que você limpou na etapa 1, recrie o conteúdo e os subdiretórios incorporados. Por exemplo, a captura de tela a seguir ilustra o conteúdo e os subdiretórios inseridos que estão sendo criados na pasta 23.1.1.0 para android_m2repository_r25.zip:

    Criar pastas de conteúdo e incorporadas na pasta 23.1.1.0

  5. Copie o m2repository do .zip extraído para o diretório de conteúdo que você criou na etapa anterior:

    Captura de tela do m2repository copiada para a pasta 23.1.1.0/content

  6. No diretório .zip extraído, navegue até m2repository\com\android\support\support-v4 e abra a pasta correspondente ao número da versão criado acima (neste exemplo, 23.1.1):

    Exemplo de listagem de arquivos contidos na pasta support-v4/23.1.1

  7. Copie todos os arquivos dessa pasta para o diretório incorporado criado na etapa 4:

    Exemplo de arquivos copiados para a pasta 23.1.1.0/embedded

  8. Verifique se todos os arquivos foram copiados. O diretório incorporado agora deve conter arquivos como .jar, .aar e .pom.

  9. Descompacte o conteúdo de todos os arquivos .aar extraídos no diretório incorporado. No Windows, acrescente uma extensão .zip ao arquivo .aar, abra-o e copie o conteúdo para o diretório incorporado. No macOS, descompacte o arquivo .aar usando o comando unzip no Terminal (por exemplo, descompacte file.aar).

Neste ponto, você instalou manualmente os componentes ausentes e seu projeto deve ser compilado sem erros. Caso contrário, verifique se você fez download do m2repository .zip versão de archive que corresponde exatamente à versão na mensagem de erro e verifique se você instalou seu conteúdo nos locais corretos, conforme descrito nas etapas acima.

Resumo

Este artigo explicou como se recuperar de erros comuns que podem ocorrer durante o download automático e a instalação de bibliotecas de dependência. Ele descreveu como excluir a biblioteca problemática e reconstruir o projeto como uma forma de baixar e reinstalar a biblioteca. Ele descreveu como baixar a biblioteca e instalá-la na pasta zips . Ele também descreveu um procedimento mais complicado para baixar e instalar manualmente os arquivos necessários como uma forma de contornar problemas que não podem ser resolvidos por meios automáticos.