更新日志 26 - 量身定制的 Twelve、大胆的 Automotive、整洁的 Networking、专注的 Developers
撰写于 2022 年 4 月 26 日,作者:Nolen Johnson (npjohnson)
哇,LineageOS 19!
和往常一样,欢迎回来! 当我们去年写这篇文章时,我想我们很多人都认为我们不会再像去年那样发出“艰难时期”的演讲了,但生活就是如此。 从我们的家庭到您的家庭,我们希望您能尽可能迅速和安全地度过疫情和随之而来的灾难!
话虽如此,自从 Android 12 去年 10 月发布以来,我们一直在非常努力地工作,将我们的功能移植到这个新版本的 Android 上。 感谢我们努力适应谷歌在 Android 11 中相当大的改动,我们能够更有效地将我们的更改重新基于 Android 12L。 这让我们有更多时间专注于酷炫的新功能,以及使我们的添加适应 Android 12 全新的 Material You 设计语言!
现在,让我们谈谈版本控制约定 - 为了匹配 AOSP 的版本控制约定,并且由于它没有为最终用户增加任何显著价值,我们正在从品牌角度放弃我们的子版本。
由于 Android 已经转向季度维护发布模式,因此此版本将是“LineageOS 19”,而不是 19.0 或 19.1。
新功能!
- 从 2021 年 3 月到 2022 年 4 月的安全补丁已合并到 LineageOS 16.0 到 19。
- 19 构建目前基于 android-12.1.0_r4 标签,这是 Pixel 6 系列标签。
- WebView 已更新到 Chromium 100.0.4896.127。
- 我们已经完全重做了 Android 12 中引入的音量面板,并将其改为侧面弹出的扩展面板。
- 我们的 AOSP Gallery 应用程序分支已经进行了大量的修复和改进。
- 我们的 Updater 应用程序已经进行了大量的错误修复和改进。
- 我们的网络浏览器 Jelly 也进行了一些错误修复和改进!
- 我们向上游贡献了许多更改和改进,回馈给我们集成了一段时间的 FOSS Etar 日历应用程序!
- 我们向上游贡献了许多更改和改进,回馈给 Seedvault 备份应用程序。
- 我们的 Recorder 应用程序已经进行了大量的错误修复、改进和功能添加。
- Android TV 版本现在附带无广告的 Android TV 启动器,这与谷歌的广告启用启动器不同。
- Android TV 版本现在附带一个按键处理程序,使我们能够在各种蓝牙和 IR 遥控器上支持自定义按键。
- 我们的
adb_root
服务不再与构建类型属性绑定。 - 我们的提取实用程序现在支持从大多数类型的工厂镜像/打包 OTA 镜像中提取,大大简化了设备启动和 blob 提取。
- 高触控轮询率的支持已添加到我们的 SDK 中,允许在支持的设备上启用它。
- AOSP Clang 工具链现在是我们用于编译内核的默认工具链。
- 高通的 Snapdragon Camera 已被删除,之前使用它的设备现在将使用 Camera2。
- 暗黑模式现在默认启用。
- 我们有一个全新的设置向导,具有全新的 Android 12 风格的图标、动画和大量新的可配置页面!
- 我们为几乎所有应用程序,甚至是系统应用程序,都准备了一套全新的图标!
- (18.1 也是)我们有一个全新的默认壁纸,以及一整套壁纸可供选择,快来看看吧! 这些壁纸在设计时考虑了 Android 12 的 Monet 主题功能,所以快去尝试一下,看看你最喜欢哪种强调色!
- (18.1 也是)Wi-Fi 显示可用于所有选择加入的设备,通过高通专有接口或新恢复的旧版 Miracast 接口!
- (18.1 也是)我们现在支持为不同类型的充电(有线或无线)自定义充电声音。
网络限制
我们非常受欢迎的注重隐私的内置防火墙、受限网络模式和每个应用程序数据隔离功能都经过重写,以适应 AOSP 新的受限网络模式和 BPF。
此外,数据限制和网络隔离功能已合并到一个单一的实现中。
总而言之,这意味着我们在每次启动时最大的痛点之一现在应该更容易在未来的修订版中向前移植!
让我们来谈谈旧设备...
坏消息来了,很遗憾。 我知道你们很多人都期待通常大量的旧设备能给你们带来 19 版本的惊喜,但目前它们不会。
这是因为 AOSP 移除了 iptables
,转而使用 eBPF。 这是一种更新、效率更高的内核端实现。
问题在于只有 Linux 内核 4.9 或更新版本的设备才具有使用 eBPF 所需的功能。 通常,这些东西可以向后移植到较旧的内核版本,但目前,即使像 4.4 这样接近 4.9 版本的版本,由于 BPF 引入中的大量提交和结构更改,也证明具有挑战性。 那些使用 4.4 内核的人,请不要害怕,已经创建了一个向后移植,但是对于使用 3.18 及以下内核版本的设备,这可能是终点。 如果您发现了可用的向后移植,或者自己创建了一个,请随时通过 devrel(at)lineageos.org 告诉我们!
此外,iptables
无法以任何有意义的方式恢复,这使得事情变得更加困难。 目前,通过一些 hacky 的解决方法(我们不会合并,因为它们会破坏数据包过滤等),旧设备可以启动,但在 BPF 的适当解决方法/向后移植到旧内核版本之前,不要期望旧设备会发布 LineageOS 19。
弃用
总的来说,我们认为 19 分支已经达到了与 18.1 相同的功能和稳定性,并已准备好进行初始发布。
LineageOS 17.1 构建于 2022 年 1 月 31 日停止,以便在我们的基础设施上为开始测试 LineageOS 19 腾出空间。
LineageOS 19 将为精选的设备启动构建,主要是谷歌 Pixel 设备,其他设备将在它们被标记为既符合 章程 要求,又准备好由其维护者构建时加入。
升级到 LineageOS 19
要升级,请按照此处找到的您设备的升级指南 此处。
如果您来自非官方构建,您需要按照您设备的旧安装指南进行操作,就像任何其他希望首次安装 LineageOS 的人一样。 这些可以在 此处 找到。
请注意,如果您当前正在使用官方构建,则您无需擦除您的设备,除非您设备的 wiki 页面明确规定需要这样做,这对于某些具有重大更改的设备是必要的,例如重新分区。
Wiki 的重要性
虽然 LineageOS Wiki 自我们成立以来就已存在,但我们想借此机会提醒用户按照其设备各自的 Wiki 页面 上的说明进行操作,因为 AOSP 更改引入了复杂性,例如 System-As-Root、A/B 分区方案、动态分区,以及最近在 Pixel 5 和其他使用 Android 11 发布的设备上发现的 Virtual A/B,你们许多人习惯于从记忆中遵循的说明要么不再有效,要么缺少非常关键的步骤。 从 16.0 开始,维护人员被期望通读完整的说明并验证它们在其设备上是否有效。 LineageOS Wiki 最近得到了进一步扩展,维护人员获得了更多选项来定制其设备的个别安装、更新和升级说明。
开发者,开发者,开发者
或者,在这种情况下,维护人员,维护人员,维护人员。 我们想要您的设备提交!
如果您是开发者,并且想要提交您的设备以供官方使用,现在比以往任何时候都更容易。 只需按照 此处 的说明进行操作即可。
以上也适用于希望恢复曾经是官方的但不再受支持的设备的人员 - 认真地说 - 即使它尚未完全合规,也请提交! 也许我们可以帮助您审查它。
提交后,通常在几周内,但在大多数情况下是一周内,您将收到有关您设备提交的一些反馈; 如果它达到标准,您将被邀请加入我们的通信实例,您的设备将被 fork 到 LineageOS 的官方仓库。
没有维护设备的知识,但想为平台做贡献? 我们有很多其他事情你可以贡献。 例如,我们的应用程序套件一直在寻找新的人来帮助改进它们,或者您可以为 wiki 贡献更多有用的信息和文档。 Gerrit 始终接受提交! 一旦您贡献了一些东西,请发送电子邮件至 devrel(at)lineageos.org 详细说明它们,我们将让您参与进来。
此外,如果您在过去几个月通过 gmail 发送了提交,由于一些晦涩的问题,它们没有到达我们这里,所以请重新发送它们!
通用目标
我们之前谈论过这些,但这些很重要,所以我们将再次介绍它们。
虽然自 2019 年以来我们已经有了可构建的通用目标,但为了使 LineageOS 更容易被开发者访问,以及真正对尝试 LineageOS 感兴趣的任何人,我们记录了如何在 Android 模拟器/Android Studio 中结合使用它们!
此外,类似的目标现在可用于在移动设备、Android TV 配置和 Android Automotive(我们稍后会详细讨论)中构建 GSI,这使得 LineageOS 比以往任何时候都更容易被使用谷歌 Project Treble 的设备访问。 我们不会为这些目标提供官方构建,因为用户体验完全取决于设备制造商对 Treble 要求的遵守程度,但请随意自己构建它们并试一试!
请注意,Android 12 分开了 GSI 和模拟器目标。 模拟器目标位于 lineage_sdk_$arch
中,而 GSI 目标位于 lineage_gsi_$arch
中。
Android Automotive!
感谢贡献者 Tom Pratt 和 Al Sutton 的辛勤工作,LineageOS 现在支持 Android Automotive 构建目标!
请注意,这是 Android Automotive,而不是依赖于移动设备的 Android Auto。 您可以在 此处 阅读更多关于差异的信息,但本质上,Android Automotive 是一个完全独立的汽车信息娱乐操作系统,具有用于常见汽车外围设备的可扩展控件。
按照 模拟器/Android Studio 指南,您可以构建 Automotive GSI 并亲自试用!
翻译
双语? 三语? 任何语言?
如果您认为您可以帮助将 LineageOS 翻译成其他语言,请跳转到 我们的 wiki 并尝试一下! 如果您的语言在 Android 中不受原生支持,请在 Crowdin 上联系我们,我们将采取必要步骤来包含您的语言。 例如,LineageOS 是第一个完全支持威尔士语(Cymraeg)的 Android 自定义发行版,这要归功于其翻译社区。
请仅在您精通目标语言的情况下才贡献翻译; 低劣的翻译会浪费我们和您的时间。
构建列表
新增 19 设备
设备名称 | Wiki | 维护者 | 来自 |
---|---|---|---|
ASUS Zenfone 5z (ZS620KL) | Z01R | rohanpurohit, Jackeagle, ThEMarD | 18.1 |
ASUS Zenfone 8 | sake | ZVNexus, cryptomilk | 18.1 |
F(x)tec Pro¹ | pro1 | BadDaemon, bgcngm, intervigil, mccreary, npjohnson, tdm | 18.1 |
Google Pixel 2 | walleye | Eamo5 | 18.1 |
Google Pixel 2 XL | taimen | Eamo5 | 18.1 |
Google Pixel 3 | blueline | razorloves, cdesai, intervigil, mikeioannina | 18.1 |
Google Pixel 3 XL | crosshatch | razorloves, cdesai, intervigil, mikeioannina | 18.1 |
Google Pixel 3a | sargo | cdesai, mikeioannina, npjohnson | 18.1 |
Google Pixel 3a XL | bonito | cdesai, mikeioannina, npjohnson | 18.1 |
Google Pixel 4 | flame | cdesai, Eamo5, mikeioannina, npjohnson | 18.1 |
Google Pixel 4 XL | coral | cdesai, Eamo5, mikeioannina, npjohnson | 18.1 |
Google Pixel 4a | sunfish | PeterCxy, cdesai, mikeioannina | 18.1 |
Google Pixel 4a 5G | bramble | aleasto, mikeioannina | 18.1 |
Google Pixel 5 | redfin | aleasto, mikeioannina | 18.1 |
Google Pixel 5a 5G | barbet | aleasto, mikeioannina | 18.1 |
Lenovo Z5 Pro GT | heart | ThEMarD, optionaltoast | 18.1 |
Lenovo Z6 Pro | zippo | Lucchetto, ThEMarD | 18.1 |
Moto G6 Plus (XT1926-2/3/5/6/7/8/9) | evert | Jleeblanch | 18.1 |
Moto G7 (XT1962-1/4/5/6) | river | erfanoabdi, npjohnson, SyberHexen | 18.1 |
Moto G7 Power (XT1955-1/2/4/5/7) | ocean | erfanoabdi, npjohnson, SyberHexen | 18.1 |
Moto G7 Plus (XT1965-2/3/6) | lake | Jleeblanch, npjohnson | 18.1 |
Moto One Power | chef | Hasaber8 | 18.1 |
Moto One Action | troika | Stricted, npjohnson | 18.1 |
Moto One Vision/Motorola P50 | kane | Stricted, npjohnson | 18.1 |
Moto X4 | payton | erfanoabdi, ThEMarD | 18.1 |
Moto Z2 Force (XT1789-02/3/4/5/6/7) | nash | npjohnson, erfanoabdi | 18.1 |
Moto Z3 Play | beckham | Jleeblanch | 18.1 |
Nokia 6.1 (2018) | PL2 | npjohnson, theimpulson | 18.1 |
Nokia 6.1 Plus | DRG | npjohnson, theimpulson | 18.1 |
OnePlus 6 | enchilada | LuK1337 | 18.1 |
OnePlus 6T | fajita | EdwinMoq | 18.1 |
Razer Phone 2 | aura | mikeioannina, npjohnson | 18.1 |
Samsung Galaxy Tab S5e (LTE) | gts4lv | bgcngm, LuK1337 | 18.1 |
Samsung Galaxy Tab S5e (Wi-Fi) | gts4lvwifi | bgcngm, LuK1337 | 18.1 |
SHIFT SHIFT6mq | axolotl | amartinz, joey | 18.1 |
Sony Xperia XA2 | pioneer | LuK1337, Stricted, cdesai | 18.1 |
Sony Xperia XA2 Plus | voyager | LuK1337 | 18.1 |
Sony Xperia XA2 Ultra | discovery | LuK1337 | 18.1 |
Sony Xperia 10 | kirin | LuK1337 | 18.1 |
Sony Xperia 10 Plus | mermaid | LuK1337 | 18.1 |
Xiaomi Poco F1 | beryllium | bgcngm, warabhishek | 18.1 |
新增 18.1 设备
设备名称 | Wiki | 维护者 | 来自 |
---|---|---|---|
ASUS ROG Phone 3 | obiwan | aleasto, OrdenKrieger | |
ASUS Zenfone 5Z (ZS620KL) | Z01R | rohanpurohit, Jackeagle, ThEMarD | 17.1 |
ASUS Zenfone Max M2 | X00P | danascape | |
ASUS Zenfone Max M2 | X01AD | danascape | |
ASUS Zenfone Max Pro M1 | X00TD | Vivekachooz | 16.0 |
ASUS Zenfone Max Pro M2 | X01BD | Rk585 | 16.0 |
BQ Aquaris X | bardock | eloimuns, Quallenauge, Team aquaris-dev | 17.1 |
BQ Aquaris X Pro | bardockpro | Quallenauge, Team aquaris-dev | 17.1 |
Fairphone 2 | FP2 | chrmhoffmann | 17.1 |
Fairphone 3 | FP3 | dk1978 | 17.1 |
Google Pixel | sailfish | npjohnson | 17.1 |
Google Pixel XL | marlin | npjohnson | 17.1 |
Lenovo P2 | kuntao | mikeioannina, highwaystar | 17.1 |
Lenovo Yoga Tab 3 Plus LTE | YTX703L | Quallenauge, Vladimir Oltean | 16.0 |
Lenovo Yoga Tab 3 Plus Wi-Fi | YTX703F | Quallenauge, Vladimir Oltean | 16.0 |
Lenovo Z5 Pro | heart | ThEMarD, optionaltoast | |
Lenovo Z6 Pro | zippo | Lucchetto, ThEMarD | |
LG G3 (AT&T) | d850 | HardStyl3r, firebird11 | 17.1 |
LG G3 (Canada) | d852 | HardStyl3r, firebird11 | 17.1 |
LG G3 (International) | d855 | HardStyl3r, firebird11 | 17.1 |
LG G3 (Korea) | f400 | HardStyl3r, firebird11 | 17.1 |
LG G3 (Sprint) | ls990 | HardStyl3r, firebird11 | 17.1 |
LG G3 (T-Mobile) | d851 | HardStyl3r, firebird11 | 17.1 |
LG G3 (Verizon) | vs985 | HardStyl3r, firebird11 | 17.1 |
Motorola Edge | racer | erfanoabdi, Jleeblanch, SyberHexen | 17.1 |
Motorola Edge S | nio | dianlujitao | |
Motorola G 5G | kiev | SyberHexen, Jleeblanch | |
Motorola G 5G Plus | nairo | SyberHexen | |
Motorola Moto E5 Plus (XT1924-3/9) | ahannah | Jarl-Penguin, karthick111, electimon, wh0dat | 17.1 |
Motorola Moto E5 Plus (XT1924-6/7/8) | hannah | Jarl-Penguin, karthick111, electimon, wh0dat | 17.1 |
Motorola Moto E5 Plus (1924-1/2/4/5) | rhannah | Jarl-Penguin, karthick111, electimon, wh0dat | 17.1 |
Motorola Moto G5 | cedric | Jarl-Penguin | 17.1 |
Motorola Moto G5S | montana | Jarl-Penguin, wiktorek140 | 17.1 |
Motorola Moto X 2014 | victara | jro1979, linckandrea, npjohnson | 17.1 |
Nokia 6.1 Plus | DRG | npjohnson, theimpulson | |
OnePlus 9 | lemonade | tangalbert919 | |
OnePlus 9 Pro | lemonadep | LuK1337, bgcngm | |
Samsung Galaxy A5 (2017) | a5y17lte | filiprrs | 17.1 |
Samsung Galaxy A7 (2017) | a7y17lte | filiprrs | 17.1 |
Samsung Galaxy M20 | m20lte | SamarV-121 | |
Samsung Galaxy Note 3 LTE (N9005/P) | hlte | haggertk, npjohnson | 17.1 |
Samsung Galaxy Note 3 LTE (N9008V) | hltechn | haggertk, npjohnson | 17.1 |
Samsung Galaxy Note 3 LTE (N900K/L/S) | hltekor | haggertk, npjohnson | 17.1 |
Samsung Galaxy Note 3 LTE (N900T/V/W8) | hltetmo | haggertk, npjohnson | 17.1 |
Samsung Galaxy S III Neo (Dual SIM) | s3ve3gds | PythonLimited, fcuzzocrea, Teledurak | 17.1 |
Samsung Galaxy S III Neo (Samsung Camera) | s3ve3gjv | PythonLimited, fcuzzocrea, Teledurak | 17.1 |
Samsung Galaxy S III Neo (Sony Camera) | s3ve3gxx | PythonLimited, fcuzzocrea, Teledurak | 17.1 |
Samsung Galaxy S5 Active (G870F) | klteactivexx | javelinanddart, npjohnson | 17.1 |
Samsung Galaxy S5 LTE (G9006V/8V) | kltechn | haggertk | 17.1 |
Samsung Galaxy S5 LTE (G900AZ/S902L) | klteaio | haggertk | 17.1 |
Samsung Galaxy S5 LTE (G900F/M/R4/R7/T/V/W8) | klte | haggertk | 17.1 |
Samsung Galaxy S5 LTE (G900I/P) | kltedv | haggertk | 17.1 |
Samsung Galaxy S5 LTE (G900K/L/S) | kltekor | haggertk | 17.1 |
Samsung Galaxy S5 LTE (SC-04F/SCL23) | kltekdi | haggertk | 17.1 |
Samsung Galaxy S5 LTE Duos (G9006W/8W) | kltechnduo | haggertk | 17.1 |
Samsung Galaxy S5 LTE Duos (G900FD/MD) | klteduos | haggertk | 17.1 |
Samsung Galaxy S10e | beyond0lte | Linux4 | |
Samsung Galaxy S10 | beyond1lte | Linux4 | |
Samsung Galaxy S10+ | beyond2lte | Linux4 | |
Samsung Galaxy S10 5G | beyondx | Linux4 | |
SHIFT6mq | axolotl | amartinz, joey | |
Sony Xperia XZ2 | akari | olivier97, sjllls | 17.1 |
Sony Xperia XZ2 Premium | aurora | dtrunk90, sjllls | |
Sony Xperia XZ2 Compact | xz2c | olivier97, sjllls | 17.1 |
Sony Xperia XZ3 | akatsuki | dtrunk90, sjllls | 17.1 |
Sony Xperia Z2 | sirius | ArianK16a | |
Sony Xperia Z3 | z3 | Tom1000, Myself5 | 17.1 |
Sony Xperia Z3 Compact | z3c | ArianK16a | 17.1 |
Xiaomi Mi A1 | tissot | abhinavgupta371 | 17.1 |
Xiaomi Mi A2 | jasmine_sprout | mikeioannina | |
Xiaomi Mi 6 | sagit | ArianK16a, Elektroschmock | 17.1 |
Xiaomi Mi 6X | wayne | Isaac Chen | 17.1 |
Xiaomi Mi 10T / Mi 10T Pro / Redmi K30S Ultra | apollon | Ramisky, SebaUbuntu | |
Xiaomi Mi 10T Lite / Mi 10i / Redmi Note 9 Pro 5G | gauguin | Lynnrin | |
Xiaomi Mi 10 Lite 5G | monet | xSylla | |
Xiaomi Mi MIX 2 | chiron | mikeioannina, wight554 | 17.1 |
Xiaomi Mi Note 3 | jason | dianlujitao | 17.1 |
Xiaomi POCO F2 Pro / Redmi K30 Pro / Redmi K30 Pro Zoom Edition | lmi | SebaUbuntu | |
Xiaomi POCO F3 / Redmi K40 / Mi 11X | alioth | SebaUbuntu | |
Xiaomi POCO M2 Pro / Redmi Note 9S / Redmi Note 9 Pro / Redmi Note 9 Pro Max | miatoll | dereference23 | |
Xiaomi POCO X3 NFC | surya | Shimitar, Subhajeetmuhuri | |
Xiaomi POCO X3 Pro | vayu | SebaUbuntu | |
Xiaomi Redmi Note 5 Pro | whyred | srfarias, SebaUbuntu | 18.1 |
Xiaomi Redmi Note 6 Pro | twolip | DD3Boh | 17.1 |
Xiaomi Redmi Note 7 | lavender | Giovix92, UltraGamerHD | 17.1 |
Xiaomi Redmi Note 8 / 8T | ginkgo | DarkJoker360, danascape | 17.1 |
ZUK Z2 Plus | z2_plus | DD3Boh | 17.1 |
移除 17.1 设备
设备名称 | Wiki |
---|---|
HTC One 2014 | m8 |
HTC One 2014 (双卡) | m8d |
华为 Honor 5X | kiwi |
乐视 Le 2 | s2 |
摩托罗拉 Moto E 2015 LTE | surnia |
摩托罗拉 Moto G 2015 | osprey |
摩托罗拉 Moto G3 Turbo | merlin |
摩托罗拉 Moto G4 Play | harpia |
摩托罗拉 Moto X Play | lux |
摩托罗拉 Moto Z | griffin |
努比亚 Z17 | nx563j |
NVIDIA Shield TV (2015 / 2015 Pro / 2017) / Jetson TX1 [Android TV] | foster |
NVIDIA Shield TV (2015 / 2015 Pro / 2017) / Jetson TX1 [平板电脑] | foster_tab |
NVIDIA Shield TV 2019 Pro [Android TV] | mdarcy |
NVIDIA Shield TV 2019 Pro [平板电脑] | mdarcy_tab |
NVIDIA Jetson Nano / Nano 2G [Android TV] | porg |
NVIDIA Jetson Nano/ Nano 2G [平板电脑] | porg_tab |
NVIDIA Jetson TX2 / TX2 NX [Android TV] | quill |
NVIDIA Jetson TX2 / TX2 NX [平板电脑] | quill_tab |
OnePlus Nord | avicii |
Realme 2 Pro | RMX1801 |
三星 Galaxy A3 (2016) | a3xelte |
三星 Galaxy A5 (2016) | a5xelte |
三星 Galaxy A7 (2016) | a7xelte |
三星 Galaxy J7 (2015) | j7elte |
三星 Galaxy S5 Neo | s5neolte |
索尼 Xperia Tablet Z2 LTE | castor |
索尼 Xperia Tablet Z2 Wi-Fi | castor_windy |
Wingtech 红米 2 | wt88047 |
Wileyfox Swift | crackling |
小米 红米 K20 / Mi 9T | davinci |
Yandex Phone | Amber |