zoukankan      html  css  js  c++  java
  • android源码下载方法 批量下载 基于windows os

    此帖只适用于当年(2010)的2.2版本

    本人已经有一年没做android 所以此文可能不适用于最新的android版本的源码下载

    2011/11/27

    给出的脚本下载速度很慢,提速的土办法见我写的评论

    1. 安装win版的Gitbash, 在这里 http://msysgit.googlecode.com/files/Git-1.6.0.2-preview20080923.exe选择默认安装路径(否则后面你要手动修改下载的脚本)。 将C:\Program Files\Git\bin 加进系统路径。Android的源码在这里:http://git.source.android.com/
    2. 为了省去一些麻烦,目前提供下载的脚本,都是将脚本的路径和将要用来存放源代码的路径写成固定的了。 你需要在F盘腾出至少4G的空间目前来看至少10GB空间。因为我即将下载完成,已经达到6点几G的大小,占用空间达到近9G。如果磁盘空间不足,git会报错,那就麻烦了,我已经吃了这个苦头了。因为据网上说android的source code的size将近3.8G在F盘根目录下创建android_source_code目录和download_android-source_script。顾名思义,前者用来存放源代码,后者用来存放下载脚本。
    3. 到这里 https://www.sugarsync.com/pf/D033416_6684866_66541 下载下载脚本,解压将所有文件放置f:\download_android-source_script\ 目录下,注意:该目录下直接就放这些脚本,不要因为解压的原因,再在这脚本外面套上一些多余的文件夹。就是像这样就可以了:

     

    1. 开始-->运行-->cmd-->f:-->cd\ -->cd download_android-source_script-->dlBatchFile.bat 然后就能看到如下图的下载界面,比较慢。

       

    下载的进度结果,就写在存放源码目录下的clone_result.log里。要是遇到网络中断,你可以看看你下载到哪了。然后手工修改dlBatchFile.bat

    1.  其实这些bat脚本和sh脚本使用python脚本生成的,脚本写的很简陋,随便写下,没用心考究,注释都没写,代码如下:
    import os
    
    fileP = open("git_reps.txt", "r");
    
    logFileP = open("2.log","w")
    
    for singleLine in fileP:
    
        if ((not singleLine.startswith("\t")) and (not singleLine.startswith("\n")) and (not singleLine.startswith(" ")) and (not singleLine.startswith("\r\n"))):
    
            logFileP.write(singleLine)
    
    fileP.close();
    
    logFileP.close()
    
     
    
    sourceDir = "%android_source_code_path%"
    
    allrepsFileP = open("2.log", "r")
    
    dlBatchFileP = open("dlBatchFile.bat", "w")
    
    gitRepHead = "git clone git://android.git.kernel.org/"
    
    #device/htc/passion-common.git
    
    i = 0
    
    for singleAdd in allrepsFileP:
    
        i = i + 1
    
        print singleAdd
    
        gitScriptFileName = "git_script_" + singleAdd.replace("/", "_")[:-1] + ".sh"
    
        lastDa = singleAdd.rfind("/")
    
        singleDir = singleAdd[0:lastDa]
    
        singleDir = singleDir.replace("/", "\\")
    
        print singleDir
    
        dlBatchFileP.write("if not exist " + singleDir + " md " + singleDir + "\n")
    
        dlBatchFileP.write("cd " + singleDir + "\n")
    
        dlBatchFileP.write("copy " + "F:\\download_android-source_script\\" + gitScriptFileName + " /y \n")
    
        dlBatchFileP.write("\"C:\\Program Files\\Git\\bin\\sh\" " + gitScriptFileName + "\n")
    
        dlBatchFileP.write("del " + gitScriptFileName + "\n")
    
        dlBatchFileP.write("cd \\" + "\n")
    
        dlBatchFileP.write("cd " + sourceDir + "\n")
    
        dlBatchFileP.write("echo " + str(i) + "---::" + singleDir + " >>clone_result.log \n")
    
        dlBatchFileP.write("\n")
    
        spFileP = open(gitScriptFileName,"w")
    
        spFileP.write(gitRepHead + singleAdd[:-1])
    
        spFileP.close()
    
    dlBatchFileP.close()
    
    allrepsFileP.close()
    
    

    #git_reps.txt中是直接从http://git.source.android.com/复制粘贴过来的。

    ps:Su Zhengang兄弟在mail list中提到repo,如下,Fyr。

    Su Zhengang

     发送至 china-android-.
    显示详细信息 14:26 (2 小时前)  
     
    为什么不用repo呢?
    下载repo
    Download thereposcript and make sure it is executable: 
    $ curl http://android.git.kernel.org/repo>~/bin/repo
    $ chmod a+x ~/bin/repo
    下载android代码
    $ repo sync
    这些就可以了,具体说明: http://source.android.com/source/download.html
  • 相关阅读:
    应用js改变问章字体大小
    在北京实习的日子
    php算法
    SQL Server 查询处理中的各个阶段(SQL执行顺序)
    130 个你需要了解的 vim 命令
    分享一个检测用户是否用手机(Mobile)访问网站的 PHP 类
    使用apache自带日志分割模块rotatelogs,分割日志
    centos下lvs配置
    分享codeigniter框架,在zend studio 环境下的代码提示
    vi 常用命令
  • 原文地址:https://www.cnblogs.com/simoncook/p/1848248.html
Copyright © 2011-2022 走看看