玩转Android10(三)源码中编译手机刷机包
The following article is from 卓码空间 Author QDroid88888
说明:如未特别说明,本文及以后文章都以手机oneplus3 为测试设备。
一、获取手机设备依赖代码
1.执行命令下载设备所需配置文件
源码下载之后,进入源码根目录,如下所示:
在终端源码根目录,输入以下命令完成oneplus3手机设备配置文件下载和内核源码下载:
source build/envsetup.sh
breakfast oneplus3
如下图所示:
2.拉取设备配置文件命令执行完成之后,将手机接入ubuntu虚拟机。然后进入源码设备配置文件目录执行提取手机厂商二进制文件脚本extract-files.sh。如下图所示:
二、编译设备镜像
手机设备编译配置源码以及厂商二进制文件都准备好之后,接下来准备编译设备镜像了。
在源码根目录分别执行如下命令,完成设备源码编译工作:
source build/envsetup.sh
breakfast oneplus3
brunch 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提取到手机设备厂商二进制文件。
关注我的公众号,第一时间获取文章更新。