编译lineageos181
A. 基于 omnirom7.1 最新twrp3.1.0源码编译适配能刷lineageos吗
刷机步骤(线刷): ①电脑载线刷宝 ②关机状态按电源键跟音量减键5秒自进入安卓机器界面 ③用数据线连接手机 ④线刷宝识别手机型号并且给相应刷机包点载 ⑤载完点刷机等电脑显示刷机功拔手
B. WSL2中使用adb和fastboot
最宏启物近在用WSL2编译aosp和lineageos ,由于WSL2和WSL使用不同的技术,导致WSL2中Ubuntu识别不了usb,无法使用
adb devices 和 fastboot devices
网上查了一番 https://blog.csdn.net/u014175785/article/details/113438143
看起来挺靠谱,实则
方法1 ,在sh脚本文蔽液件中不能用别名alias ,方法2 不仅麻烦而且没成功旁指
最后研究发现,还是用ln 才成功
根据上面的方法1得知 wsl2中的shell是支持adb.exe 命令的
所以可以用下面方法
C. 基于Android 12 的 LineageOS 19 发布了
自定义 ROM 是一个垂死的品种,但不可否认 LineageOS 的受欢迎程度——它仍然是您可以在设备上试用的最好的第三方 ROM 之一。在2 月淘汰基于 Android 10 的 LineageOS 17.1版本并于 4 月向近 60 台设备发布LineageOS 18.1 稳定版之后,该团队正式宣布了基于Android 12的 LineageOS 19。
感谢基于 Android 11 的 LineageOS 18.1 的所有辛勤工作,开发人员能够更有效地将其功能移植到 Android 12。ROM 的一些受欢迎的附加功能,例如内置防火墙、受限网络模式和应用程序隔离,已经是最初的 Android 12 构建的一部分。
该团队还将命名方案更改为“LineageOS 19”而不是 19.0 或 19.1,这是为了匹配 AOSP 约定并且由于 Android 转向季度维护发布模型而进行的切换。
LineageOS 19 中新功能的更新日志如下:
2021 年 3 月至 2022 年 4 月的安全补丁已合并到 LineageOS 16.0 至 19。
目前有 19 个构建基于 android-12.1.0_r4 标签,即 Pixel 6 系列标签。WebView 已更新为 Chromium 100.0.4896.58。
我们完全重做了 Android 12 中引入的音量面板,而是将其改为侧边弹出式扩展面板。
我们的 AOSP Gallery 应用程序分支已经看到了大量的修复和改进。
我们的更新程序应用程序已经看到了大量的错误修复和改进。
我们的网络浏览器 Jelly 已经看到了许多错误修复和改进!
我们已经为我们不久前集成的 FOSS Etar日历应用程序 的上游贡献了许多更改和改进!
我们为Seedvault备份应用程序 的上游贡献了许多更改和改进。
我们的 Recorder 应用程序已经看到了许多错误修复、改进和添加的功能。
Android TV 版本现在附带一个无广告的 Android TV 启动器,这与谷歌的广告启动器不同。
Android TV 版本现在附带一个键处理程序,使我们能够支持各种蓝牙和 IR 遥控器上的自定义键。
我们的adb_root服务不再与构建类型属性绑定。
我们的提取实用程序现在支持从大多数类型的工厂图像/打包的 OTA 图像中提取,大大简化了设备启动和 blob 提取。
我们的 SDK 添加了对高触摸轮询率的支持,允许在支持的设备上启用它。
AOSP Clang 工具链现在是我们用来编译内核的默认工具链。
高通的 Snapdragon 相机已被放弃,之前使用它的设备现在将使用 Camera2。
现在默认启用暗模式。
我们有一个全新的设置向导,带有全新的 Android 12 样式图标、动画和大量新的可配置页面!
我们为几乎所有应用程序(甚至系统应用程序)提供了一套全新的图标!
(18.1也是)我们有一个全新的默认壁纸,还有一整套壁纸可供选择,看看吧!这些壁纸在设计时考虑了 Android 12 的 Monet 主题功能,所以快去试试吧,看看你最喜欢哪种强调色!
(18.1 也是)Wi-Fi 显示适用于所有选择加入的设备,通过 Qualcomm 专有接口或新恢复的旧版 Miracast 接口!
(18.1 也是)我们现在支持针对不同类型的充电(有线或无线)自定义充电声音。
这里的坏消息是,由于 AOSP 中网络工作方式的变化,LineageOS 19 放弃了对一些旧设备的支持。AOSP 没有使用 Linux 的 iptables,而是切换到了eBPF,这应该更高效,但只支持使用 Linux 内核 4.9 或更高版本的设备。虽然可以将 BPF 向后移植到较旧的 Linux 内核版本,但所有当前的实现都是 hacky 并且不符合 LineageOS 团队所遵循的标准。对于许多旧手机来说,这可能是路的尽头,至少在官方支持方面是这样。
LineageOS 19 的初始版本可用于 Google Pixel 系列、华硕 ZenFone 5z 和 8、Moto G7 系列和 Moto One Power/Action/Vision、OnePlus 6 /6T,以及来自三星、联想和索尼。在接下来的几天和几周内,受支持设备的名单将继续增长。从此处获取适用于您设备的 LineageOS 19 版本。
如果您已经在运行 LineagOS 19 的非官方版本,则需要在升级到官方版本时擦除您的设备。如果您已经在运行官方但较旧版本的 ROM,则不需要彻底擦除,除非您设备的 Wiki 中明确说明。
D. 如何编译lineage不支持的机型
首先整理相应的机型MK文件
device文件,android_device_$your-device-name
kernel文件,android_kernel_$your-device-name
vendor文件,android_vendor_$your-device-name
收集或者制作或者修改,完成,你的机型文件后
同步下载lineage的源码:
清华镜像源,打开看教程(同步出错有问题就网络,一般都有答案,系统最好在Linux和他的各种分支中选择>经常用Windows-觉得Mac很反人类-不过开发商好像很喜欢-可能是苹果给出的条件太好-没人能拒绝,我觉得Ubuntu不错,也很喜欢Deepin-适合新手-国内维护挺不错的)
然后整理MK文件:
也可以点这里,去官网找一下相关机型或品牌文件作为参考
比如我的手机是ZUK EDGE
##ZUKEDGE
#我的机型代号-z2x,这个是开发用的代号;
#我的内部机型-z2151,这个是从官方下载开源部分需要的型号;
#ZUK特殊部分其他机型不一定会有一般就是三个:device、kernel、vendor(非必有)
#<类型name="仓库名"path="文件路径"/>
<android
name="lineage"
path="~/bin/lineage"/>
<device
name="android_device_zuk_z2"
path="$android/device/zuk/z2x"/>
<device
name="android_device_zuk_msm8996-common"
path="$android/device/zuk/msm8996-common"/>#ZUK特殊部分
<kernel
name="android_kernel_zuk_msm8996"
path="$android/kernel/zuk/msm8996"/>#这个命名比较特别,打包开发的
<!--附加部分,vendor一般有生成脚本或者需要额外编写-->
<vendor
name="android_vendor_z2x"
path="$android/vendor/zuk/z2x"/>
<vendor
name="android_vendor_msm8996-common"
path="$android/vendor/zuk/msm8996-common"/>#ZUK特殊部分
#end
######错误部分,可以查阅,帮助理解,最好跳过,跳过
把上面的文件解包放置到相应文件夹下
device文件,android_device_$your-device-name
kernel文件,android_kernel_$your-device-name
vendor文件,android_vendor_$your-device-name"_"对应是一个文件夹分层,比如device就是在“android源码“文件夹下(看你怎么起名字,就是清华网站中提示你的“WORKING_DIRECTORY”文件夹,可以是‘android’、‘lineage’等等)的device文件夹下,你的机子品牌文件夹下,你的机型里(比如我的手机是ZUK EDGE-我是穷逼,没钱换机,我的相应机型代号就是z2x-根据代号搞开发,内部机型z2151-根据内部型号找官方开源代码,以下示例)
示例:
device:android_device_zuk_z2x
仓库文件就在:~/bin/lineageOS/device/zuk/z2x
kernel:android_kernel_zuk_msm8996#为什么这个忽然变成msm8996了呢,哈哈|
仓库文件就在:~/bin/lineageOS/kernel/zuk/msm8996#因为机型特别
vendor:android_vendor_zuk_z2x#一般是不提供这个仓库部分的,
#会有比如“extract-files.sh”等脚本
#需要连接你的手机,生成这些文件
以上引号部分是由网络自动保存编写错误部分
最后是编译:
sourcebuild/envsetup.sh
lunchlineage_z2x-userdebug#这条命令去查看机型文件夹下的lineage_*.mk文件,把z2x换成你的
cddevice/zuk/z2x#这条应该是你的机型文件夹,和下一条命令看情况找找你的vendor扩展脚本
./extract-files.sh#这个看情况,找找你的脚本
croot#返回lineage根目录
make-j8#开始编译ROM,后面的-j*是线程,看你的CPU而定
#看输出log,编译完成ROM在out文件夹下
这样就完成了:
看似简单,实则简单,但是肯定会出错,因为你是在学习,好好学,好好问问,学会用网络,别跟个愣头B一样,张嘴就是:我是小白,这个怎么弄,我不会啊,你教教我呗,这个什么意思;崽种不会自己学