【教程】把定制ROM移植成sGSI(适用于Android P)

【教程】把定制ROM移植成sGSI(适用于Android P)

【教程】把定制ROM移植成sGSI(适用于Android P):参考此教程可把OEM定制的ROM制作成GSI镜像,可以在支持Project Treble 的设备上运行,仅适用于高通平台。

本文来自xda论坛,翻译:九面相柳本文介绍了将定制ROM移植成semi-GSI的主要步骤,旨在介绍应该处理的关键文件,而非手把手教学的教程,也许参考本文仅仅能够制作出一个可启动的镜像,我不会保证真给你带来什么。

需要准备的东西有:

一台电脑和一部支持PT的手机(官方或土制均可);

P DP3 semi-GSI(目前大部分OEM厂商的安卓P(9.0)都是基于DP3的);

一个你想移植的高通平台的安卓P镜像;

最好有最新版本的ROM移植工具(方便解包等操作)

似乎目前只有高通平台的手机有官方P预览版系统,我不确定麒麟和猎户座的手机是否也已经有了安卓P。理论上,安卓P镜像可以在同一平台的不同芯片之间移植。

当然,搞机有风险,请你做好救砖的准备。现在,咱们开始移植。首先,解包安卓P的semi-GSI 镜像(以下称为底包)和你要移植的ROM。

(下文中的“lib&lib64”意思是你要替换的文件在lib和lib64下同时存在,请分别替换)

将移植包的/system/lib&lib64/libselinux.so替换成底包的;

找到移植包/system/etc下以ld.config开头的txt文件,用底包的/system/etc/ld.configs.txt替换;

删除 /system/etc/permissions/qti-permissions.jar

修改/system/etc/prop.default 关闭adb安全设置并打开调试选项,以便于debug

解包移移植包的vendor 镜像,找到OEM厂商在 manifest.xml中添加的服务项;manifest可能会在 /vendor 或者 /vendor/etc/vintf,挑出所有与你在manifest找到的服务项有关的hal,通常它们会位于:/vendor/bin/hw/vendor/etc/init/vendor/lib&lib64//vendor/lib&lib64/hw并找出一些其他与移植包有关的文件如framework, overlays等;

然后把你移植好的system打包成img.

刷入 8.1 的 vendor , P semi-GSI boot 和 vendor 补丁.刷入你移植好的system.img

添加你在vendor分区找到的额外的文件,还需要修改你的手机的manifexts.xml并添加OEM相关的文件。

可刷入FBE Disabler和permissiver来关闭FBE(文件加密)和seLinux。格式化data,把adb keys推送到手机里以便于调试,重启。

如果你足够幸运,就可以见到开机动画并开始调试了。可以用adb命令抓取log.

打开log文件搜索“died”,可以定位到bug的位置,剩下的就看你的经验了。

补充:一些常见问题的解决方案

‘dumplicate permission : XXX’解决方案:在 /system/etc/permissions 的文件中找到XXX ,删除报错的权限;

‘fail to make lockscreen ready’解决方案:将底包中的libpuresoftkeymasterdevice.so添加到你的系统中;

进入系统后重启或黑屏(常见于骁龙845)解决方案:替换以下文件:/system/bin/surfaceflinger/system/lib&lib64/libsurfaceflinger.so and libtimestats_pronto.so

相关推荐

叶选平同志生平
365足球平台入口

叶选平同志生平

📅 07-01 👁️ 1962
邯郸比较好的网咖推荐几家2017-08-22作者:陈陈点击: 2,669次
旺旺 旺仔牛奶 罐装 245ml
365bet线上官网

旺旺 旺仔牛奶 罐装 245ml

📅 07-27 👁️ 9187
“蓂”字是什麼意思?正确讀音、注音及書寫筆順詳解
365提现流水不足

“蓂”字是什麼意思?正确讀音、注音及書寫筆順詳解

📅 07-27 👁️ 2936
DNF代号N - 神谕改版属性一览 机械的神器
365足球平台入口

DNF代号N - 神谕改版属性一览 机械的神器

📅 07-25 👁️ 3167
在Java中getarea是什么意思,轻松get JVM——Java运行时的数据区域