在安卓11上,谷歌又研究出了个新玩法:VAB架构(又称虚拟AB分区),而出厂安卓11的新机型,几乎都是VAB架构,似乎是谷歌强制要求的。本帖的目的是,分享我所学习、了解、熟悉到的VAB架构,分享给大家,让各位机友在玩机路上尽量少走弯路、少跑没必要的售后一日游。本帖可能需要一定的玩机知识及经验,如果你看不太懂的话,说明你暂时可能还不会遇到这些问题。好了,废话不多说,我们分析VAB架构之前,我们先来了解一下安卓分区架构历年的发展 SAR-a_only-ab-vab
很显然从这张吊图来看除了AB分区以外的分区架构都没什么用
由上图可知,安卓分区架构发展史为:onlyA,AB,onlyA动态分区,AB动态分区,VAB架构。
所谓的VAB架构,其实就是AB分区,套上了动态分区,再解决了AB分区的空间占用问题。上图中,我列举了一些,刷机时经常会刷写的分区(system,vendor,boot,recovery等等)。
Project Treble从安卓8开始就机型陆续支持Project Treble项目,这个项目通俗点说就是把手机的系统分成多个分区以单独更新或者多个更新,减少工作量这个项目的优点就是厂商工作量减少,用户脱离原机系统的可能性大大增加
移植安卓8以前就有移植了,安卓8以后出现几种全新玩法SGSI-GSI-原包,原包处理能增加开机率和减少bug等但不知何等原因2018年以后联发科可玩性大大降低,高通反而容易所以今天我要分享我一年多以来的开包方案(如有不对大佬别喷联系我做出修改)
个人观点联发科玩机难被一堆人喷垃圾,我个人认为是他们自身人为原因不应该一味的找联发科的问题,今日我分享联发科增加移植成功率也是为了解决这一脑残现象
正式开始首先我放几个联发科的示例包
color11(虽然低了,能用就行)
origin2.0(android 11)
origin3.0,此包来自Nippon我已测试红米K40gaming note10pro android12 13底都可开机
我们先了解一个系统的结构lib/lib64是手机的驱动所在,NFC,快充,指纹,屏幕亮度可能都与此有关
framework目录是系统的核心所在里面写了厂商的小窗,叠加层,比列,和NFC,亮度模块的调用(至关重要)大部分bug也可以从这里面修复
data-app,app,priv-app都是安卓的特定软件和第三方软件排列从低到高代表重要的成都从低到高,overlay就比较杂了有屏幕相关的WiFi相关的驱动相关的,不多做解释
selinux就是这个我可能解释的不太清楚,相当于防火墙之类的系统开不出来也会和这个有关这个在vendor system system_ext product odm都可能有一般情况下我们只需要把原机的selinux换到你想开的系统对应目录里面
,这一步是我搞联发科以来觉得最重要的部分,这个selinux规则有百分之80的概率都需要替换内核宽容能不动就不动,在高通设备上内核宽容能增加开机率,在联发科设备恰恰相反不仅不会增加开机率还会导致进不去fastboot rec等模式(亲测)