windows平台下载android源码

最近在看《android内核剖析》,很多细节不具体看代码很难理解,记住了印象也不深,感觉还是跟着源码走一遍好些,回来下载android源码,遇到不少问题,终于开始下载了,整理下流程,鉴于网上很多教程时间久了都会失效,本文截止14年4月18日亲测有效。需要工具如下:下载msysgit,安装     官方下载:http://code.google.com/p/msysgit/downloads

大家好,又见面了,我是全栈君。

最近在看《android内核剖析》,很多细节不具体看代码很难理解,记住了印象也不深,感觉还是跟着源码走一遍好些,回来下载android源码,遇到不少问题,终于开始下载了,整理下流程,鉴于网上很多教程时间久了都会失效,本文截止14年4月18日亲测有效。

需要工具如下:

下载msysgit,安装     官方下载:
http://download.csdn.net/detail/jason0539/7212993
 下载python,安装      官方网址:
http://www.python.org
 
打开Git Bash,执行命令,我是放在d盘的,路径可自定义
 
cd D:
 
windows平台下载android源码
 
这里会遇到问题,说你连接不上站点,错误代码443
解决方案,在电脑的hosts文件中添加如下几行,不知道hosts在哪的自行百度
 
74.125.31.82 www.googlesource.com

74.125.31.82 android.googlesource.com

203.208.46.172 cache.pack.google.com

59.24.3.173cache.pack.google.com

添加之后在重新执行上面的命令应该没问题,继续往下

 

 

输入命令,切换到manifest目录

cd manifest

 

git tag 列出android各个分支版本

下载android-4.4系统源码,输入下面命令,如果要下载其他版本源码,checkout git tag列出的版本号即可

git checkout android-4.4.2_r1

checkout之后,manifest/default.xml文件中记录的就是android4.4系统各个模块的路径,
 
 
下面就轮到python出场了,这里用的是网上的一段python代码,实现源码的批量下载
执行此脚本的前提是已经执行了git checkout,选择好了要下载的Android源码版本,如果你的manifest文件不是D:/manifest/default.xml,还要把里面的git.exe的路经修改成你的安装路径,请自行修改脚本。
download-src.py源码:

import xml.dom.minidom
import os
from subprocess import call

#downloaded source path
rootdir = "D:/android-source"

#git program path
git = "D:/Program Files/Git/bin/git.exe"

dom = xml.dom.minidom.parse("D:/manifest/default.xml")
root = dom.documentElement

prefix = git + " clone https://android.googlesource.com/"
suffix = ".git"

if not os.path.exists(rootdir):
    os.mkdir(rootdir)

for node in root.getElementsByTagName("project"):
    os.chdir(rootdir)
    d = node.getAttribute("path")
    last = d.rfind("/")
    if last != -1:
        d = rootdir + "/" + d[:last]
        if not os.path.exists(d):
            os.makedirs(d)
        os.chdir(d)
    cmd = prefix + node.getAttribute("name") + suffix
    call(cmd)

执行这个脚本之后,就开始自动下载了,

 
截张图:
windows平台下载android源码
 
估计需要一段时间,耐心等待。

————————————-15年7月28日更新————————————————————

用公司电脑下代码,用的mac,流程跟上面有些不一样,但是还是会遇到网络问题,幸好买了VPN,没有浪费很多时间,想起来这里好多评论提到连接失败的问题

所以建议大家购买vpn,现在vpn服务有很多,自己任选都可以,

我自己在用云梯,你不介意的话可以用下面链接购买,便宜10块钱,同时我也能得到10元优惠,算互惠互利吧


————————————16年2月17日更新————————————————————-
现在推荐用清华镜像的下载,无需翻墙,速度也比较快,https://wiki.tuna.tsinghua.edu.cn/MirrorUsage/android
但是还是推荐一下云梯哈,翻墙后方便很多,用此链接购买你我都能优惠10元
http://protizi.com/?r=3a3de744a61437e8

 

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121346.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 突然想去旅游

    突然想去旅游  突然想去旅游,一个人,静静的,去到那些宁静的自然风光中去,置身其中,什么也不想! 

  • Windows Longhorn_Windows优化

    Windows Longhorn_Windows优化一、系统优化设置。1、删除Windows强加的附件:1)用记事本NOTEPAD修改/winnt/inf/sysoc.inf,用查找/替换功能,在查找框中输入,hide(一个英文逗号紧跟hide),将“替换为”框设为空。并选全部替换,这样,就把所有的,hide都去掉了,2)存盘退出,3)再运行“添加-删除程序”,就会看见“添加/删除Windows组件”中多出了好几个选项;这样你可以删

    2022年10月21日
  • 自动构建(CICD)

    自动构建(CICD)Docker、Kubernetes的CICD实现思路Jenkins是一个比较流行的持续集成工具GitLab是存储镜像的镜像仓库由客户端将代码push推送到git仓库,gitlab上配置了一个webHook的东西可以触发Jenkins的构建。进入到Jenkins虚线范围内,它所做的事情非常多,从mvn构建代码,对代码进行静态分析,做单元测试,测试通过之后就可以build镜像,镜像构建成功后…

  • 八万一个月_一个月赚8万什么水平

    八万一个月_一个月赚8万什么水平我月入8万,不敢告诉朋友

  • awvs11安装教程_ajax使用步骤

    awvs11安装教程_ajax使用步骤Awvs12.x安装及使用教程Awvs12.x安装1.下载Awvs12.x版本和对应补丁2.安装AwvsAwvs12.x使用Awvs12.x导出渗透结果报表Awvs12.x下载链接Awvs12.x安装1.下载Awvs12.x版本和对应补丁2.安装Awvs1.双击acunetix_12.0.180911134.exe进行安装2.然后选择我同意该条款3.随便填写对应邮箱如xxx@qq.com,账号密码一定要记住如果出现下图,是密码设置太简单了,需要设置含三种规则以上的密码如Abc12345

  • Oracle与MySQL区别「建议收藏」

    Oracle与MySQL区别「建议收藏」1、Oracle是大型数据库,而MySQL是中小型数据库。但是MySQL是开源的,Oracle是收费的2、Oracle的内存占有量非常大,而mysql非常小3、MySQL支持主键自增长,插入时会自动增长。Oracle主键一般使用序列。4、MySQL分页用limit关键字,而Oracle使用rownum字段表明位置5、MySQL中0、1判断真假,Oracle中truefalse6、MySQL中命令默认commit,但是Oracle需要手动提交7、MySQL在windows环境下大小写不敏感,在l

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号