网上目前有很多下载android源码的方法,在linux下基本上用 repo 脚本,先repo init 然后在 repo sync一下

最后提取的时候的 使用 repo sync -l 一下。

所有的操作基本上除了需要用户按照google的说明配置好环境以后使用 repo 都是自动化,除了最后repo sync -l 需要将源码给提取出来(也有人说不用这条指令,在全部下载完成以后就能将源码提取出来,但就我下载的经验来看,发现不行,不用那条指令出来的都是git仓库文件,没有一个.c和.java)

但是在windows下google缺没有提供类似的脚本,但是还是有些人喜欢在windows下将源码给下载下来的。于是又有些人写了各种各样的脚本,python或者sh等,我搜索试着用了一下,发现效果都不是特别好,所以自己也写了一个,用起来感觉还不错,所以分享给大家。

前置条件:

2 安装jdk 1.6 以上的,因为脚本里面要调用一个java程序

命令行里面看看 是不是这样

开始下载:

1    打开git bash,到你需要下载的盘的目录,比如你在g盘上建立了一个 android

就转到 g:/android 下

2    将脚本文件autoget.sh和 AnalyseXml.jar 这两个文件拷贝到g:/android 文件夹下面

3    运行 ./autoget.sh  android-4.0.1_r1 android_4_0   2

或者 ./autoget.sh  cm-10.1  cmdownload 1

其中 android-4.0.1_r1 是分支号   android_4_0   是将要下载的目录  2 表示下载源

4    开始下载

会出现下面的信息

$ ./autoget.sh  android-4.0.1_r1  android_4_0 2

Cloning into 'android_4_0'...

remote: Counting objects: 94, done

remote: Finding sources: 100% (94/94)

remote: Total 827 (delta 98), reused 827 (delta 98)

Receiving objects: 100% (827/827), 717.75 KiB | 294.00 KiB/s, done.

Resolving deltas: 100% (98/98), done.

Note: checking out 'android-4.0.1_r1'.

You are in 'detached HEAD' state. You can look around, make experimental

changes and commit them, and you can discard any commits you make in this

state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may

do so (now or later) by using -b with the checkout command again. Example:

git checkout -b new_branch_name

HEAD is now at c4e4db1... Manifest for android-4.0.1_r1

******************开始下载代码***************************

仓库源:    https://android.googlesource.com/platform/manifest.git

下载分支:  android-4.0.1_r1

保存目录:  android_4_0

*********************************************************

*********************************开始解析***********************************

------ 解析完成共有221个项目

-----------clone begin time 20130826-15-31-58----1/221-------------------------

Cloning into 'build'...

remote: Sending approximately 22.74 MiB ...

remote: Counting objects: 2329, done

remote: Finding sources: 100% (982/982)

remote: Getting sizes: 100% (217/217)

remote: Compressing objects: 100% (1480911/1480911)

remote: Total 45277 (delta 29778), reused 45095 (delta 29764)

Receiving objects: 100% (45277/45277), 22.60 MiB | 199.00 KiB/s, done.

Resolving deltas: 100% (30051/30051), done.

-----------clone begin time 20130826-15-33-45----2/221-------------------------

Cloning into 'cpp'...

remote: Counting objects: 50, done

remote: Finding sources: 100% (50/50)

remote: Total 85 (delta 18), reused 85 (delta 18)

Unpacking objects: 100% (85/85), done.

...

注意事项:

1 中间下载失败的情况,如果发现下载过程中git clone下载失败了或者停止不动了,ctrl+c将下载的进程结束,然后重新执行命令,重新执行命令下载程序对于已经下载好的项目不会再下载,会发现同样的版本总数变少

比如 第一次下载的时候

*********************************开始解析***********************************

------ 解析完成共有221个项目

共计221个项目,

而当你下载完成 15个了以后,某种原因停止了下载,再次执行该命令的时候,会发现

*********************************开始解析***********************************

------ 解析完成共有206个项目

变成了206个项目

而第一个开始的项目就是上次异常没有下载完成的项目。

目前使用该工具在windows下面下载的源码还是有问题得,主要问题在于回车换行的问题,在windows系统git clone出来的代码发现竟然都是windows形式的回车换行,而到了linux下编译的时候直接sh脚本报错!

解决方法,还是在脚本中解决加入

git config --global core.autocrlf false

这条语句,让其checkout 出来的代码不用dos下的回车换行,而是用linux下的格式

这条语句执行以后,会发现用户目录下出现一个 .gitconfig 文件,里面有添加的变量,我的电脑上的这个文件是在  C:\Users\sunzeduo 这个目录下面

虽然解决回车换行的问题,但是发现下载的代码还是有点问题,主要是编写脚本的时候的git clone 没有加分支号,获取的源代码都是master 主干的代码,而目前最新的主干 4.3.0的代码下载完成以后,发现编译的时候出现 版本号不兼容的错误,估计是prebuild 文件夹出现的问题。

后续测试1:后来又修改了脚本执行的java程序,生成的shell脚本都加上了指定的版本号,但是结果又出现了一个问题

比如 我指定加上的 分支号是  -b froyo,结果在sdk 这个项目和另外一个项目竟然没有这个分支,而只有一个 -b froyo-release分支,没有办法,只能手工到那个文件夹下面 用git clone命令来获取

后续测试2:再测试用一下 不用英文名,而使用 android-2.2.1_r1类似这样的版本号来获取,看有没有取不到的情况....

测试下载了 android-2.2.1_r1 这个分支 发现下载完成后编译,也是完全可以的。

后续测试3:下载 jb-m2-dev 版本,发现

git clone https://android.googlesource.com/platform/prebuilts/eclipse.git eclipse -b jb-mr2-dev

git clone https://android.googlesource.com/platform/prebuilts/eclipse-build-deps.git eclipse-build-deps -b jb-mr2-dev

git clone https://android.googlesource.com/platform/prebuilts/eclipse-build-deps-sources.git eclipse-build-deps-sources -b jb-mr2-dev

这三个分支下载不下来,并且直接下载master 发现竟然也不行,不知道是网络出现了问题,还是什么其他的情况,还需要进一步的研究。

android源码下载过程的一些注意事项,windows下载android源码相关推荐

  1. android 2.2下载地址,Windows下载android2.2完整源码

    前两天看到有人给我留言,才发现很久没写过东西了.不过,最近也没做什么东西.下载了一个cygwin,在Windows下载android完整代码. 这个项目的名字来源于:GNU.Cygnus.Window ...

  2. Windows下载android2.2完整源码

    前两天看到有人给我留言,才发现很久没写过东西了.不过,最近也没做什么东西.下载了一个cygwin,在Windows下载android完整代码. 1.  下载安装cygwin.参考http://yuan ...

  3. windows下载编译chromium源码

    前言 chromium 源码的下载编译,真的就是如各位前辈说的一样,参考再完整的教程,还是会遇到各种各样的问题.因为每个人的开发环境是不一样的,网络环境也不一样. 一路参考各路大神的教程开始踩坑填坑的 ...

  4. 微信官方提供的生成二维码接口得到的是当前公众号的二维码。

    一定说明,这种方法我还没有测试,如果有疑问欢迎在评论区域讨论. .................... ................... 谢谢. 微信官方提供的生成二维码接口得到的是当前公众号 ...

  5. 【黄啊码】PHP配合微信公众号生成推广二维码

    前言 为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 1.目前有2种类型的 ...

  6. 雷鸟下载器(百度网盘第三方下载工具)

    还在为pandownload倒下而难过?没事还有千千万万的百度第三方下载工具应运而生,例如雷鸟下载,也许听着名字你会想到迅雷,但这是一款全新的下载工具,基于多资源超线程技术,针对各类网盘做了下载优化, ...

  7. Windows下载redis

    下载微软的 Redis和配置 Windows下载redis 1,下载redis 2,解压压缩包 3,启动Redis临时服务 4,启动Redis客户端测试连接 5, Redis配置 (可选) 1, 配置 ...

  8. 从源码角度解析Android中APK安装过程

    从源码角度解析Android中APK的安装过程 1. Android中APK简介 Android应用Apk的安装有如下四种方式: 1.1 系统应用安装 没有安装界面,在开机时自动完成 1.2 网络下载 ...

  9. android 4.4 源码编译,Android 4.4源码编译过程

    Android源码下载完后的目录如下: 整个代码的大小为:25.559GB. 一.构建系统 如下用于构建Android源码树的指令应用于所有的代码分支,包括master分支.喎?http://www. ...

最新文章

  1. GPU 「抗压」不行还费电,FPGA将成深度学习「新基建」
  2. MySQL获取数据库每个表的行数
  3. BI中事实表,维度表和数据集市,数据仓库的理解
  4. mapreduce shuffle过程问答
  5. java 流媒体服务器Red5 FQA
  6. retainAll()和removeAll()
  7. 技能提升----直流有刷电机控制方案之经典
  8. 魅族系统怎么无需root激活Xposed框架的经验
  9. 苹果手机有没有计算机记录,苹果手机中的safari浏览记录怎么恢复?苹果恢复大师教你...
  10. 滴滴裁员并不代表互联网进入寒冬,只是精细化管理时代到来了
  11. Android通过wifi输出声音,SoundWire – 将手机变成电脑的音箱,通过 WiFi播放电脑内的声音...
  12. DAGAGUARD追加归档方式迁移到rac集群
  13. C++嵌套循环打印字母表
  14. vue饿了么项目实现评论列表的筛选
  15. java 空白图片_图片文件打印空白的解决办法
  16. rangeOfString 失效了
  17. 什么是消息队列(MQ)
  18. Echarts 打不开或者打开很慢的解决方案
  19. 机器人企业如何在激流勇进的市场中,深耕落地,突出重围?
  20. 【算法】输油管道问题

热门文章

  1. Google回应全球宕机:磁盘满了;摩拜App昨晚正式停止服务;Docker Desktop 3.0.0发布|极客头条...
  2. COSCon'20 Apache Roadshow- China 精彩收官 | 数据篇
  3. 开创交互式电脑绘图先河,虚拟现实之父传奇
  4. 高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!
  5. 如何做一名出色的初级开发?
  6. 业界唯一集成AI加速的服务器处理器,全新第二代至强巩固英特尔数据中心领导者地位
  7. 漫画:为什么一到年底,部分网站就会出现日期混乱?
  8. 装机量 2 亿,这款国产物联网操作系统为何是“小而美”?
  9. 2019年最值得关注的几个公众号,好评率高达99.99%
  10. 华为悬红“奥林帕斯奖”,促进数据产业基础技术研究与生态建设