查看原文
其他

玩转Android10(三)源码中编译手机刷机包

哆啦安全 2022-07-23

The following article is from 卓码空间 Author QDroid88888

 说明:如未特别说明,本文及以后文章都以手机oneplus3 为测试设备。

  

一、获取手机设备依赖代码

      1.执行命令下载设备所需配置文件

      源码下载之后,进入源码根目录,如下所示:

     


    在终端源码根目录,输入以下命令完成oneplus3手机设备配置文件下载和内核源码下载:

source build/envsetup.shbreakfast oneplus3

如下图所示:

    

2.拉取设备配置文件命令执行完成之后,将手机接入ubuntu虚拟机。然后进入源码设备配置文件目录执行提取手机厂商二进制文件脚本extract-files.sh。如下图所示:

二、编译设备镜像

    手机设备编译配置源码以及厂商二进制文件都准备好之后,接下来准备编译设备镜像了。

   在源码根目录分别执行如下命令,完成设备源码编译工作:

source build/envsetup.shbreakfast oneplus3brunch oneplus3

     执行以上命令之后,耐心等待源码编译完成。完成之后 手机刷机包镜像保存在目录/home/qiang/lineageAndroid10/out/target/product/oneplus3中。

三、刷机测试

     刷机包文件编译好之后,可以参照玩转Android10(二)刷机操作之Recovery刷机演示中的方法刷入手机。


四、可能遇到的问题

     1.执行breakfast oneplus3之后,下载的设备依赖包不完整。

          解决方法:在设备源码目录中找到lineage.dependencies文件,根据文件配置,缺什么就手工下载解压到指定目录。如下图所示:

         

     2.执行extract-files.sh脚本adb无权限提取手机中的文件。

     解决方法:下载lineageOs官方编译的刷机包,主动给手机刷一次lineageOs系统。因为lineageOs刷了之后adb默认有root权限,所以可以adb提取到手机设备厂商二进制文件。

     关注我的公众号,第一时间获取文章更新。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存