| <html devsite><head> |
| <title>Problemas de sincronização de origem</title> |
| <meta name="project_path" value="/_project.yaml"/> |
| <meta name="book_path" value="/_book.yaml"/> |
| </head> |
| <body> |
| <!-- |
| Copyright 2017 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <p>Mesmo com nossa total atenção, 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.</p> |
| |
| <h2 id="difficulties-syncing-the-source-code-proxy-issues"> |
| Dificuldades na sincronização do código-fonte (problemas de proxy)</h2> |
| <p><strong>Sintoma</strong>: <code>repo init</code> ou <code>repo sync</code> falham com erros de http, geralmente 403 ou 500.</p> |
| <p><strong>Causa</strong>: existem algumas causas possíveis, a maioria delas relacionadas a proxies http, que têm dificuldade em lidar com as grandes quantidades de dados transferidos.</p> |
| <p><strong>Correção</strong>: embora não haja uma solução geral, alguns usuários relataram que usar o python 2.7 e explicitamente o <code>repo sync -j1</code> melhora a situação.</p> |
| |
| <h2 id="difficulties-syncing-the-source-tree-dns-issues"> |
| Dificuldades na sincronização da árvore de origem (problemas de DNS)</h2> |
| <p><strong>Sintoma</strong>: ao executar a <code>repo sync</code>, o processo falha com vários erros relacionados ao não reconhecimento do nome do host. Um desses erros é o <code><urlopen error [Errno -2] Name or service not known></code>.</p> |
| <p><strong>Causa</strong>: 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).</p> |
| <p><strong>Correção</strong>: resolva manualmente os nomes do host em questão e codifique esses resultados localmente.</p> |
| <p>Você pode resolvê-los com o comando <code>nslookup</code>, que dará a você um endereço IP numérico para cada um deles (normalmente na parte "Endereço" da saída).</p> |
| <pre class="devsite-click-to-copy"> |
| <code class="devsite-terminal">nslookup googlesource.com</code> |
| <code class="devsite-terminal">nslookup android.googlesource.com</code> |
| </pre> |
| <p>Em seguida, você pode codificá-los localmente editando <code>/etc/hosts</code> e adicionando duas linhas nesse arquivo, no seguinte formato:</p> |
| <pre class="devsite-click-to-copy"> |
| aaa.bbb.ccc.ddd googlesource.com |
| eee.fff.ggg.hhh android.googlesource.com |
| </pre> |
| <p>Observe que isso só funcionará enquanto os endereços dos servidores não mudarem. Se eles não puderem ser conectados, você precisará que resolver os nomes de host novamente e editar <code>etc/hosts</code>.</p> |
| |
| <h2 id="difficulties-syncing-the-source-tree-tcp-issues"> |
| Dificuldades na sincronização da árvore de origem (problemas de TCP)</h2> |
| <p><strong>Sintoma</strong>: <code>repo sync</code> trava ao sincronizar, geralmente quando a sincronização já está 99% concluída.</p> |
| <p><strong>Causa</strong>: algumas configurações na pilha TCP/IP causam dificuldades em alguns ambientes de rede, de modo que a <code>repo sync</code> não é concluída nem falha.</p> |
| <p><strong>Correção</strong>: no Linux, insira este comando:</p> |
| <pre class="devsite-terminal devsite-click-to-copy">sysctl -w net.ipv4.tcp_window_scaling=0</pre> |
| <p>No MacOS, desative a extensão rfc1323 nas configurações de rede.</p> |
| |
| </body></html> |