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(转载请说明出处)

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信公众号开发搭建本地调试环境

    微信公众号开发搭建本地调试环境环境及工具 eclipse nginx 微信开发者工具 Fiddler 抓包 手机一枚 hosts1 配置 hosts127 0 0 1www test com2 nginx 配置 我的项目可能有些不同 server listen80 server namewww test com 测试服务器网址 这个要和你获取的微信签名的网址对应 location 后端项目名 proxy pass

    2025年7月21日
    4
  • 【转载】细聊分布式ID生成方法

    【转载】细聊分布式ID生成方法

    2021年11月18日
    40
  • document.documentElement.scrollHeight or clientHeight?

    document.documentElement.scrollHeight or clientHeight?在我们要获取文档实际高度时,最好用document.documentElement.scrollHeight。在我们要获取视口实际高度时,用document.documentElement.clientHeight。

    2022年7月24日
    6
  • QT3D场景的快速绘制

    QT3D场景的快速绘制    QT3D场景提供了一种快速设置3D场景的一种方式,用户凭借着封装好的实体可以快速的在顶层实体(画布)当中增加各种各样的实体,并且通过3DMax软件构造的OBJ文件与QT3D实现信息交互可以的帮助用户摆脱OpenGL的用代码绘制图形的繁琐。本人在做这方面的工作时也看了很多来自CSDN的文章,但是直接将封装好的3D实体放入画布的例子有点少(是不是大家觉得太简单了?),所以作为一个QT3D建模…

    2022年6月4日
    29
  • dataset数据集有哪些_数据集类型

    dataset数据集有哪些_数据集类型datasets数据集​ 分享一些学习到的知识​ sklearn的数据集库datasets提供很多不同的数据集,主要包含以下几大类:玩具数据集真实世界中的数据集样本生成器样本图片svmlight或libsvm格式的数据从openml.org下载的数据从外部加载的数据用的比较多的就是1和3,这里进行主要介绍,其他的会进行简单介绍,但是不建议使用。玩具数据集​ scikit-learn内置有一些小型标准数据集,不需要从某个外部网站下载任何文件,用

    2022年4月19日
    190
  • imx8主频_x5660处理器怎么样

    imx8主频_x5660处理器怎么样NXPi.MX系列应用处理器是基于32和64位ARM技术,提供多核解决方案,适用于多媒体和显示应用,具有高性能和低功耗、可扩展、安全可靠等特点。其成员有i.MX28系列、i.MX6系列、i.MX7系列、i.MX8系列、i.MXRT系列。这篇文章主要介绍i.MX8系列。i.MX8系列应用处理器根据不同配置有IMX8I、MX8M、IMX8Mini、IMX8MNano、IMX8X…

    2022年10月21日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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