专栏首页difcareer的技术笔记将自己编译的AOSP刷入nexus5

将自己编译的AOSP刷入nexus5

ubuntu14.04编译Android4.4源码讲述了用于模拟器的AOSP编译过程,在完整编译了源码以后,会自动将编译结果目录加入到path中,此时运行 emulator 即可在模拟器中运行自己的编译结果。

但是要在真机上运行,还需要一些其他的工作。

  1. 真机运行需要厂商的驱动,厂商的驱动是不包含在AOSP中的,你需要根据你选择的Branch: https://source.android.com/source/build-numbers.html 去驱动页面: https://developers.google.com/android/nexus/drivers#shamulrx21o 下载合适的驱动。

比如,我编译的是Branch是android-5.1.0_r1,对应的Build是LMY47D,在驱动页面找到对应的驱动是:

Nexus 5 (GSM/LTE) binaries for Android 5.1.0 (LMY47D)
... //下面有几个驱动链接
  1. 将驱动文件下载后,解压到AOSP根目录,得到几个.sh文件,执行后,会在AOSP下创建vendor目录,里面包含了驱动。 执行 make clobber 清除一下产生的无关文件。
  2. 再次 make -j4,此次编译的结果就包含了驱动,编译完成后,执行make fastboot adb 单独编译fastboot和adb。
  3. 将nexus5 调至 fastboot模式 方法一: 能够adb链接的时候执行 adb reboot bootloader。 方法二: 关机状态下,同时按音量上下键。
  4. 在fastboot模式下,执行 fastboot oem unlock解锁bootloader,如果已经解锁,启动界面的google图标下有一把打开的锁。
  5. 执行which fastboot找到fastboot的目录,我的在AOSP/out/host/linux-x86/bin
  6. 电脑先切换到su用户下,这一步很重要,否则后面会有no devices, no permissions等错误。
  7. 在su下,切换至AOSP/out/host/linux-x86/bin,运行./fastboot devices,将看到有一台连接的设备。
  8. 执行./fastboot -w flashall,提示错误:error: neither -p product specified nor ANDROID_PRODUCT_OUT set,原因是ANDROID_PRODUCT_OUT没有设置,找不到编译的.img文件,执行: export ANDROID_PRODUCT_OUT=/your/path/to/img
  9. 再次执行./fastboot -w flashall将开始刷机,刷完会自动重启,over!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 编译Android7.1.x源码

    编译过程基本和ubuntu14.04编译Android4.4源码一致,部分地方需要注意一下。

    用户2930595
  • AndroidStudio阅读Android源码终极篇

    几乎在所有的教程里面,都提到说,要阅读Android源码,需要完整编译一次源码,比如我之前的文章使用AndroidStudio阅读Android源码。但是这个完...

    用户2930595
  • 编译私有的Android SDK

    某些原因需要自己编译一个Android SDK,比如放开某些API接口。本文记录一下编译过程。

    用户2930595
  • centos安装kubectl和minikube工具

    kubectl和minikube是部署kubernetes集群的2个重要工具,本文主要介绍如何安装这2个工具。

    jinjunzhu
  • Python+Hadoop 从DBLP数据库中挖掘经常一起写作的合作者

    任务描述: 本文的写作目的是从DBLP数据库中找到经常一起写作的合作者。熟悉数据挖掘中频繁项挖掘的经典算法(FP-Growth)并作出改进和优化。实验代码...

    机器学习AI算法工程
  • 程序员装逼指南——如何丧心病狂的提升用户体验

    大神带我来搬砖
  • MongoDB分片到副本集改造实践

    生产线上使用 MongoDB Sharidng 的场景非常多,但由于业务初期评估不到位或者业务发展不符合预期,为了管理起来更方便,可能需要将 Sharding ...

    MongoDB中文社区
  • Laravel框架下载,安装及路由操作图文详解

    本文实例讲述了Laravel框架下载,安装及路由操作。分享给大家供大家参考,具体如下:

    砸漏
  • win7远程提示凭据无法工作或服务器名称出错解决办法

    今天我同事的电脑是win的,他想用别的电脑远程,结果发现xp可以远程到他的电脑。用win7的系统就不可以远程到他的win7系统电脑。 我去帮忙给你解决,等我百度...

    苦咖啡
  • Linkerd 2.6版本带来分布式跟踪、实时请求头文件、更快的仪表盘等等!

    我们很高兴地宣布Linkerd 2.6的发布!该版本增加了对分布式跟踪的支持,为Linkerd的live tap输出带来了请求和响应头文件,向仪表板添加了流量分...

    CNCF

扫码关注云+社区

领取腾讯云代金券