AOSP ON MAKO(在NEXUS 4上刷ANDROID 4.4 源代码包-下载/配置/编译/刷机)
AOSP ON MAKO(在NEXUS 4上刷ANDROID 4.4 源代码包-下载/配置/编译/刷机)
特别感谢google官方文档及AOSP源代码开放
參考链接:
https://source.android.com/source/building-devices.html (官方源代码刷device)
https://developers.google.com/android/nexus/drivers#makokrt16s (硬件驱动包, 如仅仅是执行模拟器则直接安装就可以)
https://developers.google.com/android/nexus/images (官方刷机包-下载image直接刷)
步骤:
1. 下载android 4.4源代码包, 因为GFW原因, 通过谷歌官方站点repo下载源代码比較难, 所以我选择了国内android牛人innost提供的压缩包. (有10G)
牛人博客: http://blog.csdn.net/innost/article/details/14002899
115网盘下载: http://115.com/lb/5lbcb7joklq
2. 解压到文件夹, 在这里我解压到 ~/android4.4 (设为ANDROID_HOME)
3. 环境变量设置(编辑~/.bashrc文件,在末尾加入例如以下三行)
export ANDROID_HOME=~/android4.4
export PATH=$PATH:${ANDROID_HOME}/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=${ANDROID_HOME}/out/target/product/mako
4. 下载必须的源代码刷手机的驱动文件并配置(一開始我直接lunch选mako, 但最后fastboot -w flashall 时,提示成功, 但手机启动时一直停留在google启动界面上, 后来经多方验证才发现system.image包中少了硬件驱动)
1) 进 https://developers.google.com/android/nexus/drivers 依据手机型号选相应的驱动包, 我的手机是nexus 4, 源代码包是android 4.4, 于是进入该链接 https://developers.google.com/android/nexus/drivers#makokrt16s
2) 下载三个驱动包: broadcom-mako-krt16s-f54c9ff9.tgz, lge-mako-krt16s-23ef7d53.tgz, qcom-mako-krt16s-cc4bd932.tgz
3) 解压到源代码根文件夹(也就是~/android4.4)
4) 执行三个解压后的sh文件, 在根文件夹下会多出vendor文件夹, 这就是硬件驱动文件夹
5. 安装编译源代码包所须要的一些依赖包(这中间可能会遇到非常多问题, 依据错误提示google 一一解决).
參考链接: https://source.android.com/source/building-running.html
6. 编译生成adb和fastboot命令: make fastboot adb (adb 用于进入 fastboot刷机模式, fastboot用于刷image进手机. 当然也能够手动进入刷机模式, 此步可跳过)
7. 配置刷机前环境变量并编译生成image
1) 打开终端, 进入源代码根文件夹
2) 导入编译android环境变量: source build/envsetup.sh (主要是让终端找到命令位置)
3) 设置编译缓存大小: prebuilts/misc/linux-x86/ccache/ccache -M 50G
4) 选择编译终端类型: lunch full_mako-userdebug (注意: 直接lunch 是没有 full_mako-userdebug选项的, 我是依照谷歌官方文档直接执行该命令的)
5) 编译源代码: make -j16 (依据机器CPU核数选择是16还是8等, 我总共花了28分钟)
8. 正式刷机
1) 进入刷机模式: adb reboot bootloader
2) 刷image进手机: fastboot -w flashall (注意: 这里可能会出现waiting for device, 并一直停留在这里, 后来我发现执行该命令须要根用户权限, 于是就su root, 切换到根用户环境下, 同一时候再次配置相关变量后, 再次执行fastboot -w flashall, 命令执行成功, 哈哈...)
以下是日志和截图:
--------------------------------------------
Bootloader Version...: MAKOZ30d
Baseband Version.....: M9615A-CEFWMAZM-2.0.1700.98
Serial Number........: 017cf480db62e55e
--------------------------------------------
checking product...
OKAY [ 0.002s]
sending 'boot' (6340 KB)...
OKAY [ 0.204s]
writing 'boot'...
OKAY [ 0.351s]
sending 'recovery' (6886 KB)...
OKAY [ 0.221s]
writing 'recovery'...
OKAY [ 0.418s]
erasing 'system'...
OKAY [ 0.676s]
sending 'system' (295871 KB)...
OKAY [ 9.358s]
writing 'system'...
OKAY [ 19.851s]
erasing 'userdata'...
OKAY [ 1.960s]
formatting 'userdata' partition...
Creating filesystem with parameters:
Size: 6189744128
Block size: 4096
Blocks per group: 32768
Inodes per group: 8048
Inode size: 256
Journal blocks: 23612
Label:
Blocks: 1511168
Block groups: 47
Reserved block group size: 375
Created filesystem with 11/378256 inodes and 50366/1511168 blocks
sending 'userdata' (98413 KB)...
writing 'userdata'...
OKAY [ 8.988s]
erasing 'cache'...
OKAY [ 0.051s]
formatting 'cache' partition...
Creating filesystem with parameters:
Size: 587202560
Block size: 4096
Blocks per group: 32768
Inodes per group: 7168
Inode size: 256
Journal blocks: 2240
Label:
Blocks: 143360
Block groups: 5
Reserved block group size: 39
Created filesystem with 11/35840 inodes and 4616/143360 blocks
sending 'cache' (10984 KB)...
writing 'cache'...
OKAY [ 1.022s]
rebooting...
AOSP ON MAKO(在NEXUS 4上刷ANDROID 4.4 源代码包-下载/配置/编译/刷机)的更多相关文章
- MAC环境下 Android P 系统源码下载、编译、导入到AS、Pixel2xl刷机 实战
一.下载源码 1 . 确保主目录下有一个 bin/ 目录,并且该目录包含在路径中: mkdir ~/bin PATH=~/bin:$PATH 2 . 下载 Repo 工具,并确保它可执行: curl ...
- 编译Android内核 For nexus 5 以及绕过Android的反调试
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54880488 前面的博客中已经记录了Nexus 5手机的Android 4.4.4 ...
- 编译Android 4.4.4 r1的源码刷Nexus 5手机详细教程
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/54562606 网上关于编译Android源码的教程已经很多了,但是讲怎么编译And ...
- Android 7.1.1系统源码下载、编译、刷机-Nexus 6实战
想成为一位合格的Android程序员或者一位Android高级工程师是十分有必要知道Android的框架层的工作原理,要知道其工作原理那么就需要阅读Android的源代码. 想要阅读Android的源 ...
- Windows下Nexus 5的Android 5.0以上版本官方ROM的刷机教程
博客链接:http://blog.csdn.net/qq1084283172/article/details/52334452 折腾Android逆向的时候,经常需要给Nexus 5刷机.最近给Nex ...
- macOS(Sierra 10.12)上Android源码(AOSP)的下载、编译与导入到Android Studio
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- NEXUS 上传到私仓的SNAPSHOT 包下载不下来
使用NEXUS 上传 SNAPSHOT版本的jar包到服务器上,但是下载不下来,报错提示:Dependency ... not found 后来百度到一句话: Maven内置的插件远程仓库配置,关闭了 ...
- Maven私服(Nexus)资源上传下载
1.settings.xml (向私服上传资源需要) <!-- Snapshot包的管理/Releases包的管理/第三方包管理--> <server> <id>l ...
- 【树莓派】树莓派上刷android系统
这位前辈之前做了基于android2.3版本刷入树莓派的事情,http://blog.csdn.net/lichwei1983/article/details/44082669 1.android 镜 ...
随机推荐
- linux 命令 笔记
ftp添加用户步骤: 创建目录 sudo mkdir /home/www 为目录添加用户 sudo useradd -d /home/uftp -s /bin/bash uftp 添加用户权限 sud ...
- 算法复习——树形dp
树形dp的状态转移分为两种,一种为从子节点到父节点,一种为父节点到子节点,下面主要讨论子节点到父亲节点的情况: 例题1(战略游戏): 这是一道典型的由子节点状态转移到父节点的问题,而且兄弟节点之间没有 ...
- base642photo
/** * pic to base64Str * @param path 读取路径 * @return */ public static String GetIm ...
- 用户认证系统 django.contrib.auth模块
一 导入auth模块 from django.contrib.auth.models import User from django.contrib import auth auth模块的操作针对的就 ...
- 【HDU4372】Count the Buildings (第一类斯特林数)
Description $N$座高楼,高度均不同且为$1~N$中的数,从前向后看能看到$F$个,从后向前看能看到$B$个,问有多少种可能的排列数. $T$组询问,答案模$1000000007$.其中$ ...
- [NOIP2009] 提高组 洛谷P1074 靶形数独
题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他 们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教, Z 博士拿出了他最近发明的 ...
- Codevs 1169 == 洛谷 P1006 传纸条
---恢复内容开始--- 1169 传纸条 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 小渊和小轩是好朋友也是同班同学,他 ...
- 本地安装Sass,Compass
使用本地的gem文件来安装Sass和Compass. 1.安装Ruby http://rubyinstaller.org/downloads/ 下载之后双击安装即可,在安装过程中可以选择“Add Ru ...
- AC日记——Super Mario hdu 4417
Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- 在线扩展根分区 red hat 4.8.3-9
跑程序的时候发现报错,提示空间不足,仔细查看后发现是根分区已满 27G的空间只有20k剩余 考虑从/data分区压缩一点空间到/分区 切换到root用户 执行下面的命令 1. umount /data ...