编译属于你自己的 Sultanized MoKee
一切的一切源于一块非原装屏……
起因
上学期在课堂上把等于四的屏摔碎了,将就着用了大半年,最后禁不住诱惑去广埠屯把屏幕换了。
换屏之前用的是 MoKee,虽然刚到手是正常使用,但是升级版本之后会出现花屏现象,而且会有接电时长按变多个位置同时被点的现象,我猜是屏没装好,毕竟不是官方售后……自己也暂时没办法拆机,只能试试其他 ROM 了。
经过多次实验,Sultanized ROM 和官方的氢和氧都可以正常使用,但是 Sultanized RR 和 Sultan 维护的 LOS 都不是我的菜。在家网络环境不好,也就只能官方先用着了。来学校以后,又有了折腾的心,于是开始编译属于我自己的 Sultanized MoKee
准备
首先搭建我们的编译环境,我使用的是 ArchLinux,与 Ubuntu 等 Debian 系发行版有部分所需包的包名不相同,所以我在这里接绍一下准备过程
首先,你的设备得有 Sultanxda 维护的 Unofficial LOS(不然怎么叫 Sultanized 呢)
然后,安装以下包(现在可以直接安装 AUR 中的 Meta Package lineageos-devel
)
1 | $ yay -S gcc-multilib git gnupg flex bison gperf sdl wxgtk2 squashfs-tools curl ncurses zlib schedtool perl-switch zip unzip libxslt python2-virtualenv bc rsync ncurses5-compat-libsAUR lib32-zlib lib32-ncurses lib32-readline lib32-ncurses5-compat-libs xml2 lzop pngcrush imagemagick python2 python3 jdk8-openjdk repo python2-virtualenv |
如果你之前安装了其他版本的 openjdk,使用这个指令来切换
1 | archlinux-java set java-8-openjdk |
然后我们来同步源码
1 | mkdir ~/mokee |
额,由于编译的时候会自动设置 CCACHE(我记得是这样)就先不管它了
修改与编译
我的设备是等于四,那我当然选择编译等于四啦
1 | cd ~/mokee |
这样以后,我们就可以开始修改,让 Sultanxda 的内核源码和 MoKee 融♂合了
首先我们把 ~/home/mokee/.repo/local_manifests/roomservice.xml
修改成下面的样子
然后再同步一下
1 | cd ~/mokee |
好,我们再来修改会出问题的地方,首先删除 ~/mokee/packages/apps/Dialer/tests
文件夹(在我这里会导致编译报错),然后重命名 ~/mokee/device/oneplus/oneplus3/lineage.mk
为 mokee.mk
,文件内容中的 vendor/cm/config
改为 vendor/mk/config
, lineage_oneplus3
改为 mk_oneplus3
,lineage.dependencies
重命名为 mk.dependencies
, ~/mokee/device/oneplus/oneplus3/pocketmode
和 ~/mokee/device/oneplus/oneplus3/doze
目录下 Android.mk
中的 org.cyanogenmod
改为 org.mokee
(可能还有修改,但是不太记得了),~/mokee/device/oneplus/oneplus3/cmhw
文件夹里面的内容也要进行类似的修改
接下来同步一下 Sultanxda 的 patch
1 | cd ~/mokee |
然后就可以开始搞事情啦
1 | cd ~/mokee |
静静等待结束,就可以在 ~/mokee/out/target/product/oneplus3
里面找到你的卡刷包啦,赶紧备份然后刷入体验吧!
问题和截图
编译出来的 ROM 确实不会再花屏了,MoKee 用着就是舒服。再加上 Sultanxda 的优化,美滋滋。但是还是有些许问题存在
- LED 灯控制中,只能改变呼吸灯的长短和频率,不能改变颜色
- 每次重启以后 pocketmode 会 fc
- 有快充但是不会显示DASH
- 系统语言为 zh_CN 的情况下运营商会显示 CMCC ─ 中国移动 ─ CHN-UNICOM,看起来像三卡三待……(这个似乎和我的号码段有关?)
附上我的截图
跑到崩溃的 KDE
Sultan 内核
三卡三待(滑稽)
PS: 感谢 U 大对我问题的一系列解答,@updateing
如果本文过程中有不妥当的地方,欢迎大家指出,受教了
编译属于你自己的 Sultanized MoKee