Resolver Erros de Instalação da Biblioteca

Em alguns casos, você pode receber erros ao instalar 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 receber erros de build quando o Visual Studio ou Visual Studio para Mac tentar 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 fazer com que o projeto de aplicativo seja criado novamente.

Erros ao baixar m2Repository

Você pode ver erros m2repository ao referenciar um pacote NuGet das Bibliotecas de Suporte do Android ou dos serviços do Google Play. 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 de m2repository

Geralmente, esse problema pode ser corrigido excluindo a biblioteca problemática e recriando 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 da pasta para a biblioteca de suporte do 22.2.1

  3. Exclua o conteúdo da pasta de versão. Remova o arquivo .zip , bem como o conteúdo e os subdiretórios inseridos nessa pasta. Para a mensagem de erro de exemplo mostrada acima, os arquivos e subdiretórios mostrados nesta captura de tela (conteúdo, inserido e android_m2repository_r16.zip) devem ser excluídos:

    Conteúdo de exemplo da pasta de biblioteca de suporte 22.2.1

    Observe que é importante excluir todo o conteúdo dessa pasta. Embora essa pasta possa inicialmente conter o arquivo deandroid_m2repository_r16.zip "ausente", esse arquivo pode ter sido parcialmente baixado ou corrompido.

  4. Recompilar o projeto – fazer isso fará com que o processo de build baixe novamente a biblioteca ausente.

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

Baixar manualmente o m2repository

Se você tentou usar as etapas de recuperação automática acima e ainda tem erros de build, pode baixar manualmente o arquivo deandroid_m2repository_r_nn_.zip (usando um navegador da Web) e instalá-lo de acordo com as etapas a seguir. Esse procedimento também será útil se você não tiver acesso à Internet no 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 (juntamente com o hash MD5 correspondente da URL de cada link):

    Se o arquivo morto m2repository não for mostrado nesta tabela, você poderá criar a URL de download acrescentando 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 da 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 resolve o erro de build, 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.

Baixar e instalar manualmente arquivos m2repository

O processo totalmente manual de recuperação de erros 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 no computador. No exemplo a seguir, recuperaremos essa 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 de 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, inseridas 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 . Nesse diretório, você deve encontrar um subdiretório chamado m2repository:

    Pasta m2repository encontrada no arquivo zip extraído

  4. No diretório da biblioteca com controle de versão que você limpou na etapa 1, recrie o conteúdo e os subdiretórios inseridos . 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 conteúdo e pastas inseridas na pasta 23.1.1.0

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

    Captura de tela do m2repository copiado 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 de 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 nessa pasta para o diretório inserido 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 inserido agora deve conter arquivos como .jar, .aar e .pom.

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

Neste ponto, você instalou manualmente os componentes ausentes e seu projeto deve ser compilado sem erros. Caso contrário, verifique se você baixou o m2repository.zip versão de arquivo morto 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 recompilar o projeto como uma maneira de baixar novamente e reinstalar a biblioteca. Ele descreveu como baixar a biblioteca e instalá-la na pasta zips . Ele também descreveu um procedimento mais envolvido para baixar e instalar manualmente os arquivos necessários como uma maneira de contornar problemas que não podem ser resolvidos por meios automáticos.