为了在windows下批量下载Android的源码,上网查了一会,有些贴子建议使用SHELL脚本,有些是使用JAVA脚本,由于我本人对SHELL不懂,但对JAVA还是很熟的,所以,就选择了后者进行源码的下载。
原文地址:http://www.cnblogs.com/skyme/archive/2011/05/14/2046040.html
在网上找了好久都没有找到如何批量下载,只是找到有位通过角本执行来进行下载的。
试了一下在我机器上运行有问题,所以索性自己搞了一个出来。
首先根据官方的说法要下载git,这个无论如何是要下载的。
下载地址: http://code.google.com/p/msysgit/
点击安装(一路点击 Next 即可)
安装完成后,在盘符上建立文件夹,我建在E:\Learning_stuff\android\src下
右键选择Git bash
弹出如下界面
下面就是整理下载的过程了,如果只需要下载其中的一个包,那么就不需要做下面的操作了,如果想下载全部源码就需要做一下处理,因为windows下是没有repo的
进入下载页面
http://android.git.kernel.org/
如果只下载一个,只需要
git clone git://android.git.kernel.org/
+ project path.
将后面的project path改为下面第一列的内容即可。
这样对应的需要的包就可以下载了。
如果想下载所有的源码
在下载页面里进行选择
将页面中文件列表中的内容选择出来,并且放到文本文件中
把文件保存到androidURL.txt中
然后用程序来取出我们需要的信息
新建类ReplaceFile.java
public class ReplaceFile {
/**
* @param args
*/
public static void main(String[] args) {
String fileName = "C:/androidURL.txt";
readFileByLines(fileName);
}
private static void readFileByLines(String fileName) {
List<String> tmpList = new ArrayList<String>();// 用来存放修改后的url
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
String splitByStr = ".git";
int tmpI = tempString.indexOf(splitByStr);
if (tmpI >= 0) {
tempString = tempString.substring(0,
tempString.indexOf(".git"));
String gitGet = "git clone git://android.git.kernel.org/";
// System.out.println("line " + line + ": " + gitGet
// + tempString + splitByStr);
System.out.println(gitGet+ tempString + splitByStr);
tmpList.add(gitGet+ tempString + splitByStr);
}
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
}
取出得到的文件列表如下:
git clone git://android.git.kernel.org/device/common.git
git clone git://android.git.kernel.org/device/google/accessory/arduino.git
git clone git://android.git.kernel.org/device/google/accessory/demokit.git
git clone git://android.git.kernel.org/device/htc/common.git
git clone git://android.git.kernel.org/device/htc/dream-sapphire.git
git clone git://android.git.kernel.org/device/htc/dream.git
git clone git://android.git.kernel.org/device/htc/passion-common.git
git clone git://android.git.kernel.org/device/htc/passion.git
git clone git://android.git.kernel.org/device/htc/sapphire.git
git clone git://android.git.kernel.org/device/sample.git
git clone git://android.git.kernel.org/device/samsung/crespo.git
git clone git://android.git.kernel.org/device/samsung/crespo4g.git
git clone git://android.git.kernel.org/kernel/common.git
……………………………………
我是将信息直接输出到控制台,这个是比较新的版本,如果再有更新可以用以上的方法更新下面的配置文件
在git的控制台上
点击左上角点击编缉,粘贴
然后就是等待,等待...........
PS:我在下载的时候(2011-05-18),http://android.git.kernel.org/ *有268个PROJECT,下载完成后的总大小为14.4GB,所以,想下载的童鞋请准备好充足的空间啊,不然就杯具了哈。
如果以后,想对某个文件夹里的源码进行更新,只需要进入到该文件夹中,然后输入 "git pull " 就可以进行更新了。
最后一个附件为20011/08/14截取的所有 project path