编译LineageOS
参考:
https://wiki.lineageos.org/devices/lemonadep/build
https://wiki.lineageos.org/devices/lemonadep/install
https://mirrors.tuna.tsinghua.edu.cn/help/lineageOS/
写在前面
做Android的伙伴往往都需要编译Android的源码,之前使用过编译过AOSP源码,搭配 Hikey 系列开发板 和 Pixel系列手机使用,编译AOSP源码和刷镜像的过程太过繁杂,经常会出现各处error,而且新版本的编译方式变化较大。
最近接触LIneageOS,编译烧录都很简单,记录下流程和遇到的问题。
1. 解锁手机
拿到手机后,手机默认的OS系统都是原始出厂的,例如OnePlus 9Pro 的是 ColorOS,这是没有解锁的,adb root 之后就会初现下面的错误:
解锁操作如下:
- 在设置里面多次点击系统版本号打开开发者模式
- 进入开发者选项,找到OEM 解锁,点击解锁,但是可能会打不开(按钮是灰色的),科学上网后,在设置里面登入google账号即可激活按钮
- 进入fastboot 模式,进行解锁:
adb reboot fastboot
fastboot devices
# 解锁命令因设备而异:
fastboot oem unlock # oneplus 9 pro
fastboot flashing unlock # pixel 4
2. 下载源码
跟着官网教程从仓库拉取源码会出现各种网络连接错误,需要使用科学上网才能顺利拉取完整仓库,但是我尝试了科学上网仍然没有成功。
这里推荐使用清华镜像站下载源码:
https://mirrors.tuna.tsinghua.edu.cn/help/lineageOS/
在repo init 时将版本修改为目标版本即可:
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b lineage-18.1
3. 刷入初始镜像
部分型号手机在编译阶段会需要手机一些配置信息,因此需要先向手机刷入初始镜像,然后从手机中提取这些配置信息
lineageOS for OnePlus 9 Pro 镜像下载网址:https://download.lineageos.org/lemonadep
其他型号在里面也能找到
adb reboot revocery # 进入recovery 模式
# 通过音量按键 擦除数据:
Factory Reset => Format data / factory reset
adb sideload ***.zip # 刷入镜像
reboot
4. 编译
cd ~/android/lineage
source build/envsetup.sh # 配置环境变量
breakfast lemonadep # 预编译 lemonadep为手机型号代号# 将手机连接到服务器然后从手机端拉取配置信息到源码目录
cd device/oneplus/lemonadep
./extract-files.sh # 拉取配置信息cd ~/android/lineage
croot
brunch lemonadep # 正式编译
编译完会在 ~/android/lineage/out/target/product/***/lemonadep
目录生成 lineage-18.1-20220509-UNOFFICIAL-lemonadep.zip
和各个.img镜像
在recovery 模式下通过 adb sideload **.zip刷入即可
5. 问题
在拉取手机配置信息阶段,直接运行extract-files.sh
应该就能完成
但是我没有成功,会报缺少配置文件
解决方法:
直接通过adb从已经刷入lineageOS的手机上拉取缺失的文件,丢到源码目录android/lineage/vendor
即可
手机目录与源码目录存在对应关系
6. 变砖
如果在刷镜像的过程中出现变砖的情况,可以参考大佬的方法救砖(for OnePlus 9pro):https://www.bilibili.com/s/video/BV18h411S73L
就完砖之后,系统又变成ColorOS了,重复上面的过程可以再次刷成lineageOS
如果在recovery 模式无法使用adb,可以考虑先通过fastboot模式刷入 boot.img
镜像,让启动镜像变成lineageOS匹配,然后就可以使用adb sideload
了
编译LineageOS相关推荐
- 给红米Note 4X编译LineageOS 14.1刷机包过程【详细】
最近忙着找工作,今天就把以前的一篇文章放上来,防止自己搞忘,也帮助他人少走冤枉路.小米的MIUI确实做得很不错,但是可能你不会知道,它背后收集了大量你的系统数据和用户使用数据,现在是一个强调网络安全, ...
- 编译 LineageOS 源码,并重定义 kernel log
1.下载清华源的 repo curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo chmod +x repo ../repo i ...
- LineageOS编译
目录 准备 下载并解压SDK 安装adb和fastboot 安装Repo和python 安装依赖 设置 git 清华源源代码镜像 过程摘录 异常处理 下载机型配置 拉取vendor 开启缓存 开始编译 ...
- 为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu
编译内核 因为一加七的内核版本是4.14,所以想使用kernelsu,需要自己将kernelsu编译到内核里. 我使用的系统是:LineageOS17.1,对于之后的lineage版本同样适用,只是拉 ...
- 使用Aosp源码编译安卓ROM(小米,一加,三星,中兴等)
这是一篇实用性很强的文章,除了这段引言,其它的都不是废话:这篇文章教会你如何在你的大部分主流安卓机型上(小米,一加,三星,oppo,华硕,Google,Htc,华为,联想,LG,摩托,索尼,红米)使用 ...
- Ubuntu 小米6 LineageOS源码编译
小米6 LineageOS 源码编译官方教程:https://wiki.lineageos.org/devices/sagit/build#extract-proprietary-blobs 1. 安 ...
- 最新 lineageos 编译过程 详细过程
sudo apt-get update https://github.com/MiCode/Xiaomi_Kernel_OpenSource repo init -u https://mirrors. ...
- OnePlus 7T LineageOS 编译向导
OnePlus 7T LineageOS 编译向导 安装编译所需依赖 sudo apt install bc bison build-essential ccache curl flex g++-mu ...
- 小米Max2 LineageOS编译过程 ubuntu
第一步:配置环境,我的环境是ubuntu 17.10 sudo apt update sudo apt upgrade sudo apt install bc bison build-essentia ...
最新文章
- 数据蒋堂 | 大清单报表的打印?
- Bzoj3168 [Heoi2013]钙铁锌硒维生素
- 体绘制(Volume Rendering)概述之4:光线投射算法(Ray Casting)实现流程和代码(基于CPU的实现)...
- [转]Photoshop Lab模式下保细节修复偏暗人物照片
- 【收藏】使用Docker搭建MySQL服务
- 更新yum源并重建缓存
- 计算机windows xp怎么操作,电脑密码怎么设置
- 插入始终是1_OneNote使用小记(1)——针对PPT做笔记及最合适的PPT插入方式
- Ubuntu中SVN的安装和使用
- 解决多个py模块调用同一个python的logging模块,打印日志冲突问题
- paip.快捷方式分组管理最佳实践ObjectDock
- jsp小区停车收费管理系统
- 基于单片机的GPS开发 (five) GPS数据获取解析思路
- android ntfs u盘,NTFS让U盘短命?想多了
- 疫情下的远程办公,充满了崩溃与机遇
- 金立android怎么升级包,金立S6升级刷机教程[多图]
- Wireshark抓取TCP三次握手包
- iQQ 学习笔记2 :借助新浪微博输入验证码、远程控制退出
- OCR(光学字符识别)
- 杨毅:不够优秀就不要腆着脸继续占便宜