Mesmo fazendo tudo o que podemos, pequenos problemas às vezes acontecem. Esta página detalha alguns problemas conhecidos que você pode encontrar ao tentar sincronizar o código-fonte do Android.
Dificuldades na sincronização do código-fonte (problemas de proxy)
Sintoma: repo init
ou repo sync
falha com erros de HTTP, normalmente 403 ou 500.
Causa: existem algumas causas possíveis, a maioria delas relacionada a proxies HTTP, que têm dificuldade em processar as grandes quantidades de dados transferidos.
Correção: embora não haja uma solução geral, usar o Python 2.7 e explicitamente o repo sync -j1
às vezes ajuda.
Dificuldades na sincronização da árvore de origem (problemas de DNS)
Sintoma: ao executar repo sync
, o processo falha com vários erros relacionados ao não reconhecimento do nome do host. Um desses erros é <urlopen error [Errno -2] Name or service not known>
.
Causa: alguns sistemas DNS têm dificuldade em lidar com o alto número de consultas envolvidas na sincronização da árvore de origem (que podem chegar a centenas de solicitações no pior dos casos).
Correção: resolva manualmente os nomes do host em questão e codifique esses resultados localmente.
Você pode resolvê-los com o comando nslookup
, que fornece um endereço IP numérico para cada nome de host (normalmente na parte "Endereço" da saída).
nslookup googlesource.com
nslookup android.googlesource.com
Em seguida, você pode codificá-los localmente editando /etc/hosts
e adicionando duas linhas a esse arquivo, da seguinte forma:
aaa.bbb.ccc.ddd googlesource.com eee.fff.ggg.hhh android.googlesource.com
Dificuldades na sincronização da árvore de origem (problemas de TCP)
Sintoma: repo sync
trava ao sincronizar, geralmente quando a sincronização já está 99% concluída.
Causa: algumas configurações na pilha TCP/IP causam dificuldades em alguns ambientes de rede, de modo que a repo sync
não é concluída nem falha.
Correção: no Linux, insira este comando:
sysctl -w net.ipv4.tcp_window_scaling=0
No macOS, desative a extensão rfc1323 nas configurações de rede.