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事件的传递机制,没掌握或者掌握不扎实的小伙伴 ...
随机推荐
- getDeclaredConstructor()与getConstructor的差别
首先看getDeclaredConstructor(Class<?>... parameterTypes) 这种方法会返回制定參数类型的全部构造器,包含public的和非public的, ...
- distributor之Interrupt Set/Clear-Active Registers, GICD_IS/CACTIVERn
set active寄存器.顾名思义就是把一个中断置为active状态,clear active寄存器就是清除active状态,在这里我们有必要说明一下中断状态的一些概念: active状态:假设此时 ...
- UIView 中bounds和frame的差别
搞iOS开发的童鞋基本都会用过UIView,那他的bounds和frame两个属性也不会陌生,那这两个有什么实质性的区别呢? 先看到下面的代码你肯定就明白了一些: -(CGRect)frame{ ...
- linux线程之pthread_join和pthread_detach
在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死.在 被其他线程回收之前,它的存储器资源(例如栈)是不释放的.相反 ...
- c语言中重要函数
gets函数,从标准输入读取一行文本,一行输入由一串字符组成,以一个换行符结尾: gets函数丢弃换行符,并在该行的末尾存储一个NUL字符(类似‘\0’), 然后返回一个非NULL值. 当gets函数 ...
- visual studio2013负载测试简单问题记录
问题1: 错误 xxxx/xx/xx xx:xx:xx 未能对测试运行“xxxxxxxxxxx”进行排队: 活动的测试设置配置为使用 Visual Studio Online 运行测试. 使用团队资源 ...
- python的内置函数bin()
bin(x) 中文说明:将整数x转换为二进制字符串,如果x不为Python中int类型,x必须包含方法__index__()并且返回值为integer: 参数x:整数或者包含__index__()方法 ...
- QT4/QT5设置界面风格(QT4支持更多的Windows界面风格)
#include "mainwindow.h" #include <QApplication> #include <QTextCodec> #include ...
- golang实现tcp接入服务器
接入服务器和后端业务服务其维持tcp连接,多个前端请求通过接入服务器访问后端业务服务器,接入服务器可以方便增加路由功能,维护多个业务服务器,根据消息ID路由到具体的业务服务器. 项目目录如下 simp ...
- Cloud Foundry warden container 安全性探讨
本文将从Cloud Foundry中warden container的几个方面探讨warden container的安全性. 1. warden container互訪 1.1. 互訪原理· 在Cl ...