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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 启动磁盘不能被分区或恢复成单个分区 mac_mac如何恢复成单个分区

    启动磁盘不能被分区或恢复成单个分区 mac_mac如何恢复成单个分区最近在MacbookPro2015款上面用bootcamp装了一个widow系统,因为一些不知道的原因,安装玩之后Mac还有一个OSXRESERVED磁盘,这个盘正常情况下安装完window会还给Mac,现在肯定是出现了一些问题。在终端里面输入diskutillist看到#:TYPENAMESIZE

    2022年8月11日
    9
  • 51单片机rc522程序_51单片机usb驱动

    51单片机rc522程序_51单片机usb驱动最近在某宝上买了一块RC522模块,试玩了下,读写卡正常。想学习使用新的东西时,有必要了解它的工作原理和工作过程,不清楚或者不知道的可以参考相关数据手册和参考文献,在这里为了节省自己的时间,我只对我的51程序做一个小小的笔记~~想要驱动RC522模块对IC卡(这里用的是M1卡型号是S50)进行读写操作,一定要有以下5个步骤:一、寻卡二、防冲突三、选择卡四、验证扇区密码(每个扇区都有密匙A…

    2022年9月18日
    0
  • html在线编辑器源代码_html编程

    html在线编辑器源代码_html编程变一般软件开发中必备的一样工具就是代码编辑器。传统的代码编辑器一般都是以软件安装包的形式安装到电脑里面,代码编辑保存后一般也是通过ftp或者svn等工具提交到服务器的(当然,像.NET开发中MicrosoftVisualStudio这样强大的集成工具另说了。)。在实际的项目开发中这样的方式也是挺便捷的。但是,随着各种云服务的兴起,云存储时代几乎已经是大势所趋了。个人或者小公司搭建一个类似的…

    2022年8月14日
    1
  • TortoiseGit Couldn’t load this key(unable to open file)

    很小的问题,记录一下!在使用TortoiseGit 配置了ppk后,有一个Git仓库每次更新的时候都会提示下面的错误! Couldn’t load this key(unable to open file)如图:解决办法: 在对应的仓库下面右键 ,看到如下 , TortoiseGit_Gen_GitHub.ppk是我之前生成的,后来这个ppk删掉了,而…

    2022年2月27日
    47
  • WPF数据采集与监控系统实战开发全记录【附源码 典藏版】[通俗易懂]

    WPF数据采集与监控系统实战开发全记录【附源码 典藏版】[通俗易懂]作为B站学习区非知名Up主,本人酷爱沉迷上位机无法自拔!人称”上位机大王“(滑稽)长期为大家提供各类WPF/上位机学习干货是我的信条!元旦在即,我又连肝一周,录制了一批WPF数据采集与监控系统项目开发实战!!录制内容,从上位机应用基础架构出发,全程代码实战,涉及内容包括串口通信、基础组件开发、用户控件动画、全局静态数据绑定等等。从无到有,完整实操,项目整体以MVVM思想模式设计开发,代码功能使用分层结构,逻辑与View解耦。认真看完全部视频,你可以了解到基本的串口通信方式,以及如何利用WPF的特性开发

    2022年6月8日
    38
  • 网络协议篇之SNMP协议(一)——SNMP报文协议

    网络协议篇之SNMP协议(一)——SNMP报文协议前言:最近工作中遇到大量的网络协议开发,现就其中一些网络协议的基础知识进行整理,文中借鉴了一些大神的整理,后面会贴上链接,如侵删)

    2022年10月17日
    0

发表回复

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

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