我正在使用repo sync
将Lineage OS 15.1与
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
对于不同的存储库,我反复遇到很多以下错误
1:
curl: (22) The requested URL returned error: 404 Not Found
Server does not provide clone.bundle; ignoring.
2:
Cannot fetch LineageOS/android_external_lineage-sdk-api-coverage
warn: --force-broken, continuing to sync
3:
fatal: unable to access 'https://github.com/LineageOS/android_external_lineage-sdk-api-coverage/': Could not resolve host: github.com
4:
fatal: unable to access 'https://android.googlesource.com/platform/system/tpm/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
5:
fatal: unable to access 'https://github.com/LineageOS/android_external_lineage-sdk-api-coverage/': gnutls_handshake() failed: Error in the pull function.
6:
fatal: unable to access 'https://android.googlesource.com/platform/external/libcap/': gnutls_handshake() failed: Error in the pull function.
7:
error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
8:
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
9:
fatal: unable to access 'https://github.com/LineageOS/android_hardware_broadcom_libbt/': Empty reply from server
10:
fatal: unable to access 'https://gerrit.googlesource.com/git-repo/': Failed to connect to gerrit.googlesource.com port 443: Connection timed out
,由于这些错误,回购同步会以error: Exited sync due to fetch errors
停止,因此我使用了repo sync -f
(-force break flag)来修复网络错误(不确定)。我的存储库仍在同步(以及错误),我不知道最后是否会获得正确的同步文件。有人可以告诉我这些错误是什么吗?为什么会发生它们以及如何解决它们?我可以看到其中一些与网络相关,但我不确定有多少。请帮我解决这些问题。
我搜索了一些关于SE的问题,但这些错误有不同的背景,与repo
无关(尽管显然与git有关)。
我的网络速度:最高1MBps(这为什么让我更困惑那些通常不应该发生的网络问题)
答案 0 :(得分:0)
我意识到高速连接是不够的,它必须高度稳定并与其速度保持一致。
此网络更改解决了除GnuTLS问题以外的大多数问题。似乎gnutls
要求我提供公司级的互联网连接(我负担不起),因为它对网络波动非常敏感 。
git config --global http.postBuffer 1048576000
方法无效。
我用git
(guide)重建了openssl
, 将波动敏感性降低了 (与gnutls
)。
此后,通过一次又一次运行repo sync -f
来修复剩余的错误。这不是很多解决方案,但是教训是openssl
在不稳定和低带宽的情况下效果更好 (也就是说,如果您将1-2MBps称为低带宽连接)连接。
答案 1 :(得分:0)
我运行了以下命令来调整TCP设置并使用非并行命令。之后,我成功下载了所有源代码:
sudo sysctl -w net.ipv4.tcp_window_scaling=0
repo sync -j1
来源:https://source.android.com/setup/build/downloading#troubleshooting-network-issues