Android repo init:SSL_CERTIFICATE_VERIFY_FAILED 错误

Rau*_*ulp 1 ssl android android-build repo

下载安卓源代码:

我发出

repo init -u https://android.googlesource.com/platform/manifest
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [SSL_CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c :726)
fatal: cloning the git-repo repository,will remove '.repo/repo'
Run Code Online (Sandbox Code Playgroud)

我试过什么?

- 我曾尝试从谷歌浏览器和 Internet Explorer访问 https://android.googlesource.com/platform/manifesthttps://gerrit.googlesource.com/git-repo/clone.bundle并且没有问题

- 尝试在 repo init 命令中将 https 更改为 http

-修改了repo脚本并将https更改为http

- 修改 gitconfig 如下:

[user]
        name = myName
        email = myemail.id
[http]
        proxy = http://user:passwd@gateway.com:8080
        sslVerify = false
[https]
        proxy = https://user:passwd@gateway.com:8080
        sslVerify = false
Run Code Online (Sandbox Code Playgroud)

如何导入这些站点的证书?我正在使用 Ubuntu 18.04 。有没有办法强制忽略这个?

PS:我在代理后面并且已经设置了代理设置并且它工作正常。(试过 sudo apt-get update)

Rau*_*ulp 5

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

导出 PYTHONHTTPSVERIFY=0

Python, since v2.7.9, will by default now check the SSL certificates. To revert to the correct behavior for the repo script, set up an environment variable PYTHONHTTPSVERIFY=0.
This will shut off all certificate verification.
Run Code Online (Sandbox Code Playgroud)

存储库脚本现在应该按广告运行。


小智 5

我是 MAC 用户(莫哈韦沙漠)。我有同样的错误。

当我启动时:

repo init <repository url>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Downloading Repo source from https://gerrit.googlesource.com/git-repo
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)
fatal: cloning the git-repo repository failed, will remove '.repo/repo'
Run Code Online (Sandbox Code Playgroud)

问题似乎是由于 MacOS 上的 Python 3.6 带有自己的 OpenSSL 私有副本。这意味着系统中的信任证书不再被 Python ssl 模块用作默认值。要解决这个问题,您需要在系统中安装一个 certifi 包。

解决了:

open /Applications/Python\ 3.6/Install\ Certificates.command
Run Code Online (Sandbox Code Playgroud)