【问题标题】:Android repo init : SSL_CERTIFICATE_VERIFY_FAILED errorAndroid repo init:SSL_CERTIFICATE_VERIFY_FAILED 错误
【发布时间】:2019-03-27 08:02:49
【问题描述】:

Android源码下载:

我正在发行

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 :726)
fatal: cloning the git-repo repository,will remove '.repo/repo'

我尝试了什么?

-我已尝试从 google chrome 和 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

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

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

【问题讨论】:

    标签: android ssl android-build repo


    【解决方案1】:

    我是 MAC 用户 (Mojave)。我有同样的错误。

    当我启动时:

    repo init <repository url>
    

    我收到此错误:

    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'
    

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

    解决方法:

    open /Applications/Python\ 3.6/Install\ Certificates.command
    

    【讨论】:

      【解决方案2】:

      好的,我通过将环境变量 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.
      

      回购脚本现在应该像宣传的那样运行。

      【讨论】:

        【解决方案3】:

        我在这个话题上花了 3 个小时,终于发现这些命令对我有用。

        我的 python3 是 Python 3.6.9,python 是运行在 Ubuntu 18.04 上的 Python 2.7.17。

        sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
        sudo apt-get install openjdk-8-jdk android-tools-adb bc bison build-essential curl flex g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-gtk3-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc yasm zip zlib1g-dev git-core python3.8 libncurses5
        sudo apt-get install ca-certificates
        sudo update-ca-certificates --fresh
        sudo update-alternatives --install /bin/python python /usr/bin/python3 1
        sudo update-alternatives --install /bin/python python /usr/bin/python3.8 2
        sudo update-alternatives --config python //choose 2
        mkdir ~/bin
        PATH=~/bin:$PATH
        curl -k https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
        chmod a+x repo 
        git config http.sslVerify false
        export PYTHONHTTPSVERIFY=0
        git config --global user.name "xxx"
        git config --global user.name "xxx@xxx.com"
        mkdir ./workspace
        cd workspace
        which repo
        repo init -u https://android.googlesource.com/platform/manifest -b master
        repo sync -j2
        

        希望我的分享能帮到你:)

        【讨论】:

          猜你喜欢
          • 2018-12-30
          • 1970-01-01
          • 2018-07-14
          • 1970-01-01
          • 2015-08-23
          • 2011-09-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多