Android最新源码4.3下载-教程 2013-11
有的下载会出现问题:
|
需要
修改manifest.xml中的fetch: “git://Android.git.linaro.org/” |
|
因为默认的是“...”
|
----》
我想再没有比能成功下载了Android源码更让Android开发人员兴奋的事情了-----前后折腾了近3个周,就不贴图了吧,毕竟下载实现的案例、图例有很多了,咱直接来下载过程展示。
为了下载纯正的Android源码,开始在虚拟机的Ubuntu中下载,可是老出问题,自己就想办法装Ubuntu单根系统,即双系统;
装Ubuntu单根系统-双系统: http://blog.csdn.net/quanjin24k/article/details/12842819
在Ubuntu单根系统中下载也是老出问题,不过最终昼夜奋战,还是把Android源码下载下来了,查看了下10.4G,下载的时候没有用到分支,应该是最新源码4.3.2;一会儿编译看看;
网络上的教程或多或少的有些过时,照着操作几乎都会出现各种问题导致下载失败,下文是本人经过各种尝试之后得出的有效的下载方式,至少到目前为止方法是可行的;
话不多说,开始今天的正题
Android最新源码下载:
建议下载之前先更新下软件源及软件:
sudo apt-get update //更新软件源
sudo apt-get upgrade //更新软件
sudo apt-get autoremove //清除无用软件
1.准备下载工具:git,repo
安装git:sudo apt-get install git-core flex bison gperf
libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl valgrindmkdir ~/bin
//repo路径
PATH:~/bin:$PATH //加入环境变量
curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo"> ~/bin/repo //下载repo
2.建立Android源码存放目录
mkdir ~/android/jellybean //源码存放目录
3.初始化repo;
进入Android源码存放路径下,对repo进行初始化
repo init -u https://android.googlesource.com/platform/manifest.git
上面是直接下载最新源码;如果要具体到某个分支版本, 后面加-b [版本] 例如【-b android-4.1.1_r3】
分支查看URL:https://android.googlesource.com/platform/manifest
4.身份认证:下载前先把这步准备工作完成了最好:
URL:https://android.googlesource.com/new-password ;
gmail登录,将其中的machine的前两行粘贴到以下创建的文件中:获取一次即可;
用户目录下创建: gedit ~/.netrc 粘贴后保存即可;初始化URL暂时先不用加入/a;
注:linux下以“.”开头的文件为隐藏文件,查看方式: ls -all; 或 ls -a
5.修改manifest.xml中的fetch: “git://Android.git.linaro.org/”
初始化之后,ls -all 可以查看到.repo
cd .repo 找到manifest.xml
gedit manifest.xml & 将fetch对应的字符串替换成:“git://Android.git.linaro.org/” 保存
之前有人提供了一个fetch,"······略········"我操作失败,故就不贴出来误导大家了;
6.写自动下载脚本--实现自动下载;
在存放Android源码的目录下:
gedit download.sh 将下面代码粘贴进来;
chmod 777 download.sh 给足权限;其实只给可执行权限即可,也可以这么写:chmod a+x download.sh
源码目录下 ls -all , 找到download.sh, ./download.sh即开启下载;
#!/bin/bash
echo "=======start rep sync============"
repo sync
while[$? == 1]; do
echo "=======sync failed, re-sync again========"
sleep 3
repo sync
done
出错处理:
1.出现EOF;多试几次,目前翻阅大量博客,没找到比较合适的解决办法,无奈只能多试几次;
2.出现:fatal:'../platform/abi/cpp.git' does not appear to be a hit repository 修改manifest.xml中的fetch,见上文。
3. 还有个错误在深夜没抓拍下来, 解决方案:.repo中的manifest中对git进行 -d 什么的 我稍后查阅下以补充上,已有解决办法。
尾注:
1.上文仅限于下载,如有不妥请指正。
2.下载成功后的编译-调试等操作还要根据官网的提示进行相应的准备,不是本文所侧重,稍后博客会浅谈。
3. 当然,下载期间也参阅了不少牛哥们的博客,具体链接对不上号了,寒暄一句:感谢他们的付出。本博文是自己参照众博客的Android源码下载实现,不排除不同机器、系统下载过程可能出现些不同的问题的可能性,欢迎留言商讨,共同学习,共同进步。
Android最新源码4.3下载-教程 2013-11的更多相关文章
- 在Ubuntu上下载、编译和安装Android最新源码
看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源码了呢?一直习惯使用Windows系统,而Android源 ...
- window下载android 最新源码
https://blog.csdn.net/jason0539/article/details/24010633 2017方法 ok https://www.cnblogs.com/zhangting ...
- 最新app源码下载:200款优秀Android项目源码
200款优秀Android项目源码!菜鸟必备!Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用.其中也有许许多多的开发者提供了应用开源项目,贡献出他 ...
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
- 如何下载android源码与android内核源码
首先,要分清楚,android的源代码和android的内核代码一般是分开的,要分别进行下载. 1.先下载android的源代码.(这里不包括android的内核代码) 下载最新的源代码,一 ...
- Android源码及repo下载——亲自测试下载源码成功!
经过一段时间煞费苦心的下载都未能成功后,如今终于把android源代码下载成功,很是兴奋! 废话不多说,直接说下步骤: 1.安装git和curl:sudo apt-get install git-co ...
- Android 快速下载 Android framework 源码
官网 Android framework源码git地址 github: https://github.com/android/platform_frameworks_base google 官方: h ...
- 最新快手抖音短视频源码web+APP架设教程+完整数据
最新更新快手抖音短视频源码web+APP架设教程+完整数据完美运行 视频直播源码,好东西,反正有人要就是了. 下载地址:https://pan.baidu.com/wap/init?surl=POU5 ...
- Android事件传递机制详解及最新源码分析——ViewGroup篇
版权声明:本文出自汪磊的博客,转载请务必注明出处. 在上一篇<Android事件传递机制详解及最新源码分析--View篇>中,详细讲解了View事件的传递机制,没掌握或者掌握不扎实的小伙伴 ...
随机推荐
- 关于如何使用three.js的小教程<一>
昨天看了看three.js这个东西,身为一个3D引擎,他还是非常强大的.官网上有个tutorial讲的不甚具体.http://aerotwist.com/tutorials/getting-start ...
- python中变量命名
一 综述: 二 全局变量(包含函数和类): (1)正常变量x: *通过module.x能够使用. *通过from module import *能够使用. (2)以"_"开头变量 ...
- 笔记-Nodejs中的核心API之Events
最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态.比如Node中的模块,平时练习就接触到那么几个,其他的 ...
- C++ : 类型的别名和对象的别名
#include <iostream>using namespace std; class human{public: void Talk(); ~human(){cout&l ...
- Python学习笔记 (4) :迭代器、生成器、装饰器、递归、正则表达式等
迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优点是 ...
- 11-C语言指针
目录: 一.指针 二.指针与数组 回到顶部 一.指针 1 内存被分为字节,每个字节有唯一地址,指针保存的是内存中的地址. 2 保存指针的变量,就叫指针变量,(保存地址) 3 声明一个指针变量 int ...
- android-意图Intent
Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递 Intent 来 ...
- 前端笔试题 JS部分
题目 http://www.itmian4.com/forum.php?mod=viewthread&tid=4540 http://www.itmian4.com/forum.php?mod ...
- 数组length属性的一些特性
~~·数组的length属性是可读写的 var colors = ["blue","red","green"];colors.length ...
- jQuery事件函数bind,live,delegate的区别
DOM树 首先,可视化一个HMTL文档的DOM树是很有帮助的.一个简单的HTML页面看起来就像是这个样子: 事件冒泡(又称事件传播) 当我们点击一个链接时,其触发了链接元素的单击事件,该事件则引发任何 ...