下载安卓 5.0源代码并烧录到Nexus
来源:互联网 发布:淘宝贷款记录在哪里看 编辑:程序博客网 时间:2024/06/06 01:46
- 安卓源码编译刷机全教程
- 下载安卓源码
- Repo工具的安装
- 全部下载
- 部分下载
- 驱动下载文件
- 系统编译
- 刷机
- 下载安卓源码
安卓源码编译刷机全教程
作为一个标准的安卓程序猿,不会编译一个自己的安卓系统有点说不过去了,其中的好处不多说了,直接开搞吧!
首先我们得准备原材料:
- 一台安装了linux系统的电脑
- 一部nexus手机
- 数据线
- 有网络的网线
下载安卓源码
下载安卓源码有两种方式,一种是全部下载,一种是部分下载。全部下载的意思就是把所有版本的安卓源码下载过来,压缩下来大概30g,解压之后80g,如果你硬盘和网速都足够,可以选择全部下载,但是我显然不达标,所以我选择部分下载。不管使用全部下载还是部分下载,我们都可以选择国内的镜像,我这里用的是清华的,国外镜像不仅慢还需要翻墙。
Repo工具的安装
假设我们得工具类的路径放在~/bin下,那么我们这样:
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
完了之后,repo指令就能够使用了。
repo说白了就是对git指令做了一层封装。
全部下载:
想省事一点的建议直接下载压缩包,https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar ,下载完成后记得根据 checksum.txt 的内容校验一下。
由于所有代码都是从隐藏的 .repo 目录中 checkout 出来的,所以我们只保留了 .repo 目录,下载后解压 再 repo sync 一遍即可得到完整的目录。
使用方法如下:
wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包tar xf aosp-latest.tarcd AOSP # 解压得到的 AOSP 工程目录# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录repo sync # 正常同步一遍即可得到完整目录# 或 repo sync -l 仅checkout代码
此后,每次只需运行 repo sync 即可保持同步。
因为第一次同步需要下载很大的数据,因此建议选择睡觉前同步。
部分下载
这个就省事一些了,我们新建一个文件夹放要下载的源码,然后我们进入到这个目录,执行初始化:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-5.0.0_r6
然后在该目录下执行
repo sync
这个时候刷刷刷一大片代码闪过,开始下东西了,网速好的话半个小时就能下完。
到这里安卓源码的下载就完成了,下面我们来开始编译源码镜像。
驱动下载文件
刚刚我们只是下载了源码,但是由于版权问题镜像是需要自己编译的,在google提供的设备驱动页面有我们刷nexus4需要的驱动。我们找到对应Nexus 4 (“mako”)得驱动,总共有三个,对应我们得安卓系统版本号,down下来。
将这三个tgz的包解压之后会有三个shell的脚本。
使用解压指令
比如将/source/kernel.tgz解压到 /source/linux-2.6.29 目录
tar zxvf /source/kernel.tgz /source/ linux-2.6.29
分别运行这三个脚本的话,会生成一个vendor的文件夹,里面有broadcom lge qcom三个子文件夹。
这样的话,把vendor放到android源码的根目录下,参加编译。
系统编译
依次执行:
source build/envsetup.sh
lunch aosp_mako-userdebug
然后make -j12 开始编译。
-j12数字的选用一般根据线程数x2决定,比如我电脑是8核16线程,那就是 make -j32
刷机
在编译完成了之后,进入到out目录下,会有boot.img, userdata.img, system.img
连接手机,安装好驱动后,usb调试连接电脑,使用adb命令重启到fastboot,进入刷机模式:
adb reboot bootloader
进入到fastboot后执行双清
fastboot format cachefastboot format userdata
依次使用
fastboot flash boot boot.imgfastboot flash userdata userdata.imgfastboot flash system system.img
烧机结束后,使用fastboot reboot重启就可以了。
我自己的电脑上是这样的:
adb reboot bootloaderZ:cd Z:\nexus_source\out\target\product\makofastboot format cachefastboot format userdatafastboot flash boot boot.imgfastboot flash userdata userdata.imgfastboot flash system system.imgfastboot reboot
刷机过程中出现的问题:
1.
< waiting for device >sending 'boot' (6350 KB)... OKAYwriting 'boot'... FAILED (remote: not supported in locked device)
说的是我的n4没有解锁,需要先解锁。
百度之,发现一条解锁命令:
Fastboot oem unlock
然后提示解锁,电源键确认后就解锁了,重复上述刷机动作。
2.
sending 'boot' (344149 KB)... OKAYwriting 'boot'... FAILED (remote: size too large)
提示空间不足,需要双清,然后我按照教程刷了第三方recovery
3.
上面上调fastboot命令接的参数不一样,一个是boot,一个是system,一个是userdata,别搞错了
- 下载安卓 5.0源代码并烧录到Nexus
- 如何下载安卓源代码
- 最新下载安卓源代码的经历
- 下载安卓源代码的新经验
- 安卓游戏源码源代码下载
- Android 5.0.1(Lollipop)源码的下载、编译(eng版本)并烧录到Nexus 4
- 【安卓学习笔记】安卓源代码下载
- oschina安卓源代码解析(一)前言、下载
- Ubuntu14.04+OpenJDK7下载编译安卓源代码
- 安卓系统源代码下载(官方教程)
- 下载并编译CyanogenMod源代码
- Ubuntu14.04安卓环境搭建和安卓源代码下载
- 安卓应用检查更新并下载安装
- 安卓应用检查更新并下载安装
- 安卓-下载apk文件并自动安装
- apicloud安卓系统下载并安装APK
- 查看并下载LINUX下命令源代码
- 【Openfire】一、下载源代码并部署。
- VS平台下C++编程_strcpy报错,数组长度获取
- 流量兄弟教你SEO新手入门法则
- See you~ (hdu1892 二维树状数组模板)
- java连接数据库(jdbc)
- 面向对象基础知识
- 下载安卓 5.0源代码并烧录到Nexus
- jdk-ArrayList
- 网络模块优化方案(1)——封装网络框架
- JS中操作Map相关
- SIGALRM
- Eclipse Validating 验证慢 优化
- 关于mybatis映射文件中的一些问题
- HttpClient 4.3详细教程之连接管理
- ng2 路由