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 源代码包-下载/配置/编译/刷机)的更多相关文章

  1. MAC环境下 Android P 系统源码下载、编译、导入到AS、Pixel2xl刷机 实战

    一.下载源码 1 . 确保主目录下有一个 bin/ 目录,并且该目录包含在路径中: mkdir ~/bin PATH=~/bin:$PATH 2 . 下载 Repo 工具,并确保它可执行: curl ...

  2. 编译Android内核 For nexus 5 以及绕过Android的反调试

    本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54880488 前面的博客中已经记录了Nexus 5手机的Android 4.4.4 ...

  3. 编译Android 4.4.4 r1的源码刷Nexus 5手机详细教程

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/54562606 网上关于编译Android源码的教程已经很多了,但是讲怎么编译And ...

  4. Android 7.1.1系统源码下载、编译、刷机-Nexus 6实战

    想成为一位合格的Android程序员或者一位Android高级工程师是十分有必要知道Android的框架层的工作原理,要知道其工作原理那么就需要阅读Android的源代码. 想要阅读Android的源 ...

  5. Windows下Nexus 5的Android 5.0以上版本官方ROM的刷机教程

    博客链接:http://blog.csdn.net/qq1084283172/article/details/52334452 折腾Android逆向的时候,经常需要给Nexus 5刷机.最近给Nex ...

  6. macOS(Sierra 10.12)上Android源码(AOSP)的下载、编译与导入到Android Studio

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  7. NEXUS 上传到私仓的SNAPSHOT 包下载不下来

    使用NEXUS 上传 SNAPSHOT版本的jar包到服务器上,但是下载不下来,报错提示:Dependency ... not found 后来百度到一句话: Maven内置的插件远程仓库配置,关闭了 ...

  8. Maven私服(Nexus)资源上传下载

    1.settings.xml (向私服上传资源需要) <!-- Snapshot包的管理/Releases包的管理/第三方包管理--> <server> <id>l ...

  9. 【树莓派】树莓派上刷android系统

    这位前辈之前做了基于android2.3版本刷入树莓派的事情,http://blog.csdn.net/lichwei1983/article/details/44082669 1.android 镜 ...

随机推荐

  1. POJ——1308Is It A Tree?(模拟拓扑排序判断有向图是否为树)

    Is It A Tree? Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 28399   Accepted: 9684 De ...

  2. 使用UE配置Python编程环境

    一直在使用UE来进行python编程,觉得在UE下进行python编程使用起来还是很方便地,现在特来总结一下: 1.首先是python环境搭建 (1)下载python2.7 https://www.p ...

  3. 一款手机端的日历插件ICalendar.js

    我的网盘:http://pan.baidu.com/s/1jIib2Ay

  4. 電池的標稱電壓 與 power consumption 量測

    電池標稱電壓 定義如下圖, 以25度為例,20度再往上點, 4V 放一下電就往下掉, 3V 放一下電就往下掉, 假設 3.8V 是擁有最多 capacity 可以 discharge 的電壓,放電放了 ...

  5. kswapd0 进程 设置 swap

    kswapd0是虚拟内存管理中,负责换页,说白了就是你的物理内存不够用了 现在的服务器,一般内存都很高,所有很少使用 swap 分区了   这时候考虑的两种处理办法 加大物理内存 或者 增加swap分 ...

  6. cin和scanf的速度差别

    好长时间没有遇到这种问题了,以前虽然知道scanf比cin快,但是没想到快这么多,见图. 50万的数据. scanf输入: cin输入: 网上说用std::ios::sync_with_stdio(f ...

  7. 洛谷—— P2880 [USACO07JAN]平衡的阵容Balanced Lineup

    https://www.luogu.org/problemnew/show/P2880 题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序 ...

  8. 第5章 Spring Boot 功能

    Spring Boot 功能 本节将会介绍Spring Boot的一些细节. 在这里,您可以了解您将要使用和自定义的主要功能. 如果还没有准备好,您可能需要阅读第二部分“入门指南”和第三部分“使用 S ...

  9. BZOJ3270 博物館 概率DP 高斯消元

    BZOJ3270 博物館 概率DP 高斯消元 @(XSY)[概率DP, 高斯消元] Description 有一天Petya和他的朋友Vasya在进行他们众多旅行中的一次旅行,他们决定去参观一座城堡博 ...

  10. 转载cookie理解

    本文转自https://www.cnblogs.com/dojo-lzz/p/5580301.html 服务器端像客户端发送Cookie是通过HTTP响应报文实现的,在Set-Cookie中设置需要像 ...