Даже при нашей максимальной осторожности иногда возникают небольшие проблемы. На этой странице подробно описаны некоторые известные проблемы, с которыми вы можете столкнуться при попытке синхронизации исходного кода Android.
Трудности с синхронизацией исходного кода (проблемы с прокси)
Симптом: сбой repo init
или repo sync
репозитория с ошибками HTTP, обычно 403 или 500.
Причина. Существует несколько возможных причин, чаще всего связанных с HTTP-прокси, которые с трудом обрабатывают большие объемы передаваемых данных.
Исправление: хотя общего решения нет, иногда может помочь использование Python 2.7 и явное использование repo sync -j1
.
Проблемы с синхронизацией исходного дерева (проблемы с DNS)
Симптом: при выполнении repo sync
происходит сбой процесса с различными ошибками, связанными с нераспознаванием имени хоста. Одной из таких ошибок является <urlopen error [Errno -2] Name or service not known>
.
Причина. Некоторым системам DNS трудно справиться с большим количеством запросов, связанных с синхронизацией исходного дерева (в худшем случае может быть несколько сотен запросов).
Исправление: Вручную разрешите соответствующие имена хостов и жестко закодируйте эти результаты локально.
Вы можете решить их с помощью команды nslookup
, которая предоставляет один числовой IP-адрес для каждого имени хоста (обычно в части «Адрес» вывода).
nslookup googlesource.com
nslookup android.googlesource.com
Затем вы можете жестко закодировать их локально, отредактировав /etc/hosts
и добавив в этот файл две строки в следующем виде:
aaa.bbb.ccc.ddd googlesource.com eee.fff.ggg.hhh android.googlesource.com
Проблемы с синхронизацией исходного дерева (проблемы TCP)
Симптом: repo sync
зависает во время синхронизации, часто после завершения 99% синхронизации.
Причина. Некоторые настройки в стеке TCP/IP вызывают трудности в некоторых сетевых средах, поэтому repo sync
не завершается и не завершается ошибкой.
Исправление: в Linux введите команду:
sysctl -w net.ipv4.tcp_window_scaling=0
В macOS отключите расширение rfc1323 в настройках сети.