Android 回购 SSL CERTIFICATE_VERIFY_FAILED

Android repo SSL CERTIFICATE_VERIFY_FAILED

我正在尝试按照 Google 的文档构建我自己的 Android 版本,但它在 "repo init" 状态下失败(第 2 部分的第 2 步): https://source.android.com/source/downloading.html

当我运行 'repo init -u https://android.googlesource.com/platform/manifest'

它回答

fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

我真的不知道该尝试什么,除了确保我拥有所有合适的工具(我有,一台带 El Capitan 的全新 Macbook Pro,Python 2.7,安装了 GPG,所有那。)我可能忘了做什么?我可以做些什么来禁用 SSL 检查、更改证书或类似的东西吗?

发生这种情况很可能是因为您使用的是 macports python。

$ port select --list python
Available versions for python:
    none
    python26-apple
    python27 (active)
    python27-apple
$ sudo port select --set python python27-apple
Selecting 'python27-apple' for 'python' succeeded. 'python27-apple' is now active.

潜在的问题是OS X 将CA 根证书存储在Keychain 环中,但是python.org python 不查询Keychain 环。参见 http://bugs.python.org/issue17128

Python,从 v2.7.9 开始,现在将默认检查 SSL 证书。要恢复回购脚本的正确行为,请设置环境变量 PYTHONHTTPSVERIFY=0.

这将关闭所有证书验证。

repo 脚本现在应该 运行 如广告所示。

好的,我通过将环境变量 PYTHONHTTPSVERIFY 设置为 0 来解决此问题

导出 PYTHONHTTPSVERIFY=0