如何下载Android源码(非常详细,含自动恢复下载,编译,运行模拟器说明)

简介: 今天终于把代码下载完成,特此开一篇博文记录一下。上图: 为了下载这些源码,历时5天5夜,说为什么这么长时间,是因为太容易中断了,有时候下一晚上可能就一直没在下,在你入睡的时候它就自己断了,趁着这个周末有时间一直在电脑旁白看着它下完,中途也是挺曲折的,磁盘空间不够用了(我的是40个G,不够用),各种折腾,最后才把30多个G的代码及临时文件移动到其它磁盘(Windows下使用的普通磁盘),继续下载完毕。

今天终于把代码下载完成,特此开一篇博文记录一下。上图:


为了下载这些源码,历时5天5夜,说为什么这么长时间,是因为太容易中断了,有时候下一晚上可能就一直没在下,在你入睡的时候它就自己断了,趁着这个周末有时间一直在电脑旁白看着它下完,中途也是挺曲折的,磁盘空间不够用了(我的是40个G,不够用),各种折腾,最后才把30多个G的代码及临时文件移动到其它磁盘(Windows下使用的普通磁盘),继续下载完毕。


说一下如何下载,网上有挺多帖子说怎么下载的,我找了不少,但是由于国内不能访问google,于是发现可以访问清华的镜像下载,下载速度还是挺快的,最高速度500KB/s。

下载并配置repo信息(一定要按照这个来,刚开始我自己建了一个文件夹,在文件夹内部做,一直不成功,后来从新开始按照这个弄才好的)
 a.
mkdir ~/bin
PATH=~/bin:$PATH
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git//这是清华大学的镜像
 b.
a步骤中得到的git-repo中的repo文件拷贝到bin目录
cp git-repo/repo ~/bin/
 c.修改repo文件,修改REPO_URL
sudo gedit ~/bin/repo
在该文件中修改
REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'
初始化repo
在ubuntu14.10上,建立放置源码的文件夹
mkdir android
cd android
git config --global user.email "youremail@email.com"
git config --global user.name "Your Name"
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.0.2_r1//关于user.email,user.name,刚开始我以为是需要去哪里注册的,于是在网上找了半天,都没有说这个地方的注册问题,于是我尝试填了自己的邮箱,bingo!

(如果是Linux系统的话大伙不方便的话,可以通过修改host文件来实现,更新帖参见:http://laod.cn/hosts/2016-google-hosts.html)

开始下载

repo sync

下载的过程中会一直中断,需要看着电脑不停的让他接着下载,可以通过以下脚本完成自动恢复下载:

一点小提示: 有时候google的android服务器老是断,总不能让我们守在电脑旁边一直手工重新repo sync吧,这可是需要N个小时才能下载完的啊。

我们就写个小脚本让电脑自动repo sync,直到下载成功为止:
#!/bin/sh
count=0
ret=1
while [ $ret -ne 0 ]
do
repo sync
ret=$?
count=$(( $count + 1))
echo "try $count, ret: $ret"
done
echo "try $count, ret: $ret"
把上面的内容复制到一个文件里tryrepo.sh //新建文件的命令为touch tryrepo.sh,然后打开进行修改,使用vim编辑器:vim ./tryrepo.sh,如果没有vim编辑器则进行安装:sudo apt-get install vim,如果你的库里面没有vim的表文件的话,需要更新系统的软件库。
然后修改tryrepo.sh的属性,开始自动工作吧。第二点早上应该就大功告成了
chmod a+x tryrepo.sh //这个我推测应该是加入系统环境变量的意思?
./tryrepo.sh

下图是源码下载完成之后,将临时文件夹.repo删除之后的空间使用分析图:


所以在下载的时候一定一定要保留足够的空间,中间不够用的话,非常麻烦。100个G的空间推荐。


下载完成之后,编译也同样是需要很大的空间,预留30个GB,编译时间视电脑性能而定,我用了2天时间,算上中间环境配置,空间不够,编译错误,电脑不稳定等因素。(如果空间不够,则可以删除临时下载库.repo文件夹),在编译之前请参考其他文章添加系统环境变量。

使用命令:make -j8 -k 进行编译

参数请看帮助文档,编译完成之后如下图所示:



编译完成之后还不可以运行模拟器,其他文章会说模拟器在out/hosts/linux-86/bin/的文件夹下,但是我这里没有。需要使用下面的命令来导入一些系统需要的环境变量和参数:
source build/envsetup.sh

设置好参数之后,使用命令lunch选择我们要启动的目标,然后再输入emulator稍等一会,模拟器就会启动了,如下图所示:


具体信息可以参见:http://jingyan.baidu.com/article/86112f13549b44273797872c.html?qq-pf-to=pcqq.c2c

目录
相关文章
|
3月前
|
算法 数据处理 Android开发
掌握安卓性能优化的秘诀:电池寿命与运行效率的提升
【10月更文挑战第6天】 本文深入探讨了安卓应用开发中的性能优化技巧,重点分析了影响电池寿命和运行效率的关键因素,并提供了针对性的优化策略。通过代码优化、资源管理、后台任务处理等方法,开发者可以显著提升应用的续航能力和流畅度。同时,结合具体案例,展示了如何在实际开发中应用这些技巧,确保应用在各种场景下都能保持高效运行。本文旨在为安卓开发者提供实用的性能优化指导,助力其打造更优质的应用体验。
91 2
|
5月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
424 1
|
3月前
|
网络协议 Shell 网络安全
解决两个 Android 模拟器之间无法网络通信的问题
让同一个 PC 上运行的两个 Android 模拟器之间能相互通信,出(qiong)差(ren)的智慧。
42 3
|
3月前
|
Java 程序员 开发工具
Android|修复阿里云播放器下载不回调的问题
虽然 GC 带来了很多便利,但在实际编码时,我们也需要注意对象的生命周期管理,该存活的存活,该释放的释放,避免因为 GC 导致的问题。
54 2
|
3月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
132 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
3月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
3月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
3月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
461 2
|
5月前
|
存储 监控 数据库
Android经典实战之OkDownload的文件分段下载及合成原理
本文介绍了 OkDownload,一个高效的 Android 下载引擎,支持多线程下载、断点续传等功能。文章详细描述了文件分段下载及合成原理,包括任务创建、断点续传、并行下载等步骤,并展示了如何通过多种机制保证下载的稳定性和完整性。
183 0

热门文章

最新文章