blob: e9afccf56f32fedc61fc40dac394b3e48ceb6939 [file] [log] [blame]
<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>&lt;urlopen error [Errno -2] Name or service not known&gt;</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>