如何使用代理帐号下载Android源代码
2010-07-22 17:29
489 查看
如何使用公司代理帐号下载Android源代码:
网络上介绍了很多通过代理帐号下载源码的方法,可能由于开源工具不断
更新的关系,能够参考到的都没有尝试成功,不过通过不断摸索终于找到问题成功下载代码,现将经验共享如下:
环境:Ubuntu 9,公司代理上网,需要帐号和密码;
1.安装git,这里有源代码安装和 packageManager两种安装方式,对于源代码安装的方式比较复杂,参考国外网站反复尝试未果。
于是通过ubuntu立得包(packageManager)安装git-core1.6.0.4,安装之前将系统内git彻底卸载干净;
2.git安装好之后,安装curl(apt-get 或者 通过立得包安装);
3.配置git 的http 访问设置:
git config --global http.proxy http://login:password@our-proxy-server:8080
login 代理帐号;
password 代理密码;
our-proxy-server 代理服务器;
8080 代理 端口;
按照上面的设置自己的代理;
运行完毕之后,会在 ~/.gitconfig文件中追加如下内容:
[http]
proxy = http.proxy http://login:password@our-proxy-server:8080
构建三个文件:
文件1:socks-gw.sh
#!/bin/sh
# /home/qiu/android/bin/socks-gw.sh
# This script connects to a HTTP proxy using connect.c
connect -H wwwgate.freeshell.net:8080 $@
文件2:socks-ssh.sh
#!/bin/sh
# /home/qiu/android/bin/socks-ssh.sh
ssh -o ProxyCommand="/home/qiu/android/bin/socks-gw.sh %h %p" $@
文件3:proxy.sh
#!/bin/sh
# /home/qiu/bin/proxy.sh
# http proxy setting
export HTTP_PROXY=http://login:password@our-proxy-server:8080
export http_proxy=$HTTP_PROXY
# set git to use ssh over http proxy
export GIT_SSH="/home/qiu/android/bin/socks-ssh.sh"
export GIT_PROXY_COMMAND="/home/qiu/android/bin/socks-gw.sh"
增三个文件的运行权限。 (以上内容转的是别人整理的,我拷贝过来的)
在repo运行之前,运行 ./proxy.sh
4.此时git已经能够通过该帐号连接网络(注意前面使用的http协议,而不是git):
git clone http://android.git.kernel.org/platform/manifest.git
不是很熟悉git,网络上介绍说上面的步骤会下载代码,但是我尝试后,发现之有一个default.xml文件,其他代码文件一个都没看到;
但是证明网络通了。
5. 下面下载repo, 终端中:curl http://android.git.kernel.org/repo > repo
然后 赋予repo运行权限 ;
下载 connetc.c,然后编译;
$ curl http://www.meadowy.org/~gotoh/ssh/connect.c > connect.c
$ gcc -o connect connect.c
6.将repo所在目录加入PATH环境变量中;
(前6点均参考网络)
7.由于repo执行前,首先将自己作为一个git项目将用到的python代码下载下来,但是由于当前走的是http协议,repo脚本要修改下:
找到下面这行:
REPO_URL='git://android.git.kernel.org/tools/repo.git'
修改为:
REPO_URL='http://android.git.kernel.org/tools/repo.git'
原因是走git协议,代理不通;
8.创建一个空目录,例如下载Android 2.1,
repo init -u http://android.git.kernel.org/platform/manifest.git -b eclair
会看到initialize成功的消息;
9.然后运行repo sync,但是不做修改的话,sync会出现网络timeout错误;
在当前目录有一个隐藏目录 .repo, .repo/manifests/default.xml中,
<remote name="korg"
fetch="git://android.git.kernel.org/"
review="review.source.android.com" />
中,git修改为 http
<remote name="korg"
fetch="http://android.git.kernel.org/"
review="review.source.android.com" />
10.运行 repo sync,如果顺利的话可以看到网络有动作了,恭喜;
补记:如果网络没问题的情况下,下载仍然出现timeout,就要观察是否走的是git协议,如果是,那么修改配置文件更改为http协议。
网络上介绍了很多通过代理帐号下载源码的方法,可能由于开源工具不断
更新的关系,能够参考到的都没有尝试成功,不过通过不断摸索终于找到问题成功下载代码,现将经验共享如下:
环境:Ubuntu 9,公司代理上网,需要帐号和密码;
1.安装git,这里有源代码安装和 packageManager两种安装方式,对于源代码安装的方式比较复杂,参考国外网站反复尝试未果。
于是通过ubuntu立得包(packageManager)安装git-core1.6.0.4,安装之前将系统内git彻底卸载干净;
2.git安装好之后,安装curl(apt-get 或者 通过立得包安装);
3.配置git 的http 访问设置:
git config --global http.proxy http://login:password@our-proxy-server:8080
login 代理帐号;
password 代理密码;
our-proxy-server 代理服务器;
8080 代理 端口;
按照上面的设置自己的代理;
运行完毕之后,会在 ~/.gitconfig文件中追加如下内容:
[http]
proxy = http.proxy http://login:password@our-proxy-server:8080
构建三个文件:
文件1:socks-gw.sh
#!/bin/sh
# /home/qiu/android/bin/socks-gw.sh
# This script connects to a HTTP proxy using connect.c
connect -H wwwgate.freeshell.net:8080 $@
文件2:socks-ssh.sh
#!/bin/sh
# /home/qiu/android/bin/socks-ssh.sh
ssh -o ProxyCommand="/home/qiu/android/bin/socks-gw.sh %h %p" $@
文件3:proxy.sh
#!/bin/sh
# /home/qiu/bin/proxy.sh
# http proxy setting
export HTTP_PROXY=http://login:password@our-proxy-server:8080
export http_proxy=$HTTP_PROXY
# set git to use ssh over http proxy
export GIT_SSH="/home/qiu/android/bin/socks-ssh.sh"
export GIT_PROXY_COMMAND="/home/qiu/android/bin/socks-gw.sh"
增三个文件的运行权限。 (以上内容转的是别人整理的,我拷贝过来的)
在repo运行之前,运行 ./proxy.sh
4.此时git已经能够通过该帐号连接网络(注意前面使用的http协议,而不是git):
git clone http://android.git.kernel.org/platform/manifest.git
不是很熟悉git,网络上介绍说上面的步骤会下载代码,但是我尝试后,发现之有一个default.xml文件,其他代码文件一个都没看到;
但是证明网络通了。
5. 下面下载repo, 终端中:curl http://android.git.kernel.org/repo > repo
然后 赋予repo运行权限 ;
下载 connetc.c,然后编译;
$ curl http://www.meadowy.org/~gotoh/ssh/connect.c > connect.c
$ gcc -o connect connect.c
6.将repo所在目录加入PATH环境变量中;
(前6点均参考网络)
7.由于repo执行前,首先将自己作为一个git项目将用到的python代码下载下来,但是由于当前走的是http协议,repo脚本要修改下:
找到下面这行:
REPO_URL='git://android.git.kernel.org/tools/repo.git'
修改为:
REPO_URL='http://android.git.kernel.org/tools/repo.git'
原因是走git协议,代理不通;
8.创建一个空目录,例如下载Android 2.1,
repo init -u http://android.git.kernel.org/platform/manifest.git -b eclair
会看到initialize成功的消息;
9.然后运行repo sync,但是不做修改的话,sync会出现网络timeout错误;
在当前目录有一个隐藏目录 .repo, .repo/manifests/default.xml中,
<remote name="korg"
fetch="git://android.git.kernel.org/"
review="review.source.android.com" />
中,git修改为 http
<remote name="korg"
fetch="http://android.git.kernel.org/"
review="review.source.android.com" />
10.运行 repo sync,如果顺利的话可以看到网络有动作了,恭喜;
补记:如果网络没问题的情况下,下载仍然出现timeout,就要观察是否走的是git协议,如果是,那么修改配置文件更改为http协议。
相关文章推荐
- maven中如何使用代理解决内网无法下载jar包
- 如何在Windows上使用GIT下载Android源代码
- 如何在Windows上使用GIT下载Android源代码
- 使用git下载android源码 Git和Repo扫盲——如何取得Android源代码
- 如何在Windows上使用GIT下载Android源代码
- repo使用代理下载android源代码
- 在使用代理上网的情况下,如何使用迅雷来下载资源。
- 如何使用 DOI 快速找到论文的全文下载网址
- 【Android源码】如何下载Android源代码
- 如何使用自己的证书来跑起网上下载对例子
- 如何在命令行中使用 ftp 命令上传和下载文件
- 如何使用下载的Saber模型
- 如何利用C#编写网页投票器程序 如何使用代理来投票 代理IP来投票
- 如何使用Flashfxp上传下载文件
- 如何使用firefox的自动代理配置功能
- 使用nginx反向代理后如何在后台web应用中获取用户ip
- 如何使用红杏的公益代理
- Ubuntu12.04 使用svn如何设置代理
- iOS使用协议代理封装系统下载HttpRequest
- 采用数据代理如何使用SqlDataAdapter