搜档网
当前位置:搜档网 › 安卓拼包移植

安卓拼包移植

安卓拼包移植
安卓拼包移植

安卓拼包移植——反向修改法

找一个本机型的底包,然后把移植包里面的app、framerok和media提取替换进去.这种方法就称为正向移植;

优点是改动小,操作简单便捷,新老手皆适用.缺点是因为bin下的某些程序或者库文件so差异导致不成功

反向修改法就是拿移植包做底包,把本机型的内核、wifi驱动、传感器库文件、配置文件等替换进去

缺点是比较复杂,对romer要求有些高(因为需要准确知道2个包的差异.并且知道出现问题应该修改哪里)

优点是能最大限度发挥ROM性能,因为框架、程序与底层之间的契合度非常高

反向修改拼包法操作流程:

1.清楚的了解本机型的硬件配置,也就是主板平台.

通常同系列的CPU不同机型的ROM拼包移植成功率很高.

2.挑选合适的底包和移植包,底包和移植包尽量同源,即同一型号CPU的

3.找出底包和移植包两者的不同之处,目的是让我们了解需要改动什么才可以让别的机型ROM能在我们的机型上面使用

㈠底层硬件驱动不同.

删除移植包里面的boot.img和system\lib下的modules文件夹.替换成本机型的

㈡按键配置不同.

将移植包system\usr下的keychars和keylayout两个文件夹替换成本机型的

㈢传感器不同

将移植包system\lib下的hw文件夹替换成本机型的

㈣系统配置文件不同

将移植包system\etc下的bluetooth、firmware、permissions、wifi 四个文件夹替换成本机型的(如果有);

其中firmware中的modem.img是负责通信的基带文件!modules中的文件是开机底层引导驱动,只要这两处替换成你机型的,那么这个ROM一般都能正常启动进入系统,且有信号!

还有enhanced.conf、media_profiles.xml(媒体配置文件)、vold.fstab(存储分区配置文件); 最后注意system下是否有vendor和wifi文件夹.........................以上操作建议使用文件对比器来进行对比.....................

㈤修改build.prop

把可以自定义的内容修改下.比如机型、日期、版本号等.参数如果懂可以修改,如果不懂建议不动它

㈥修改updater-script

不同机型的ROM,刷机脚本里包含的分区挂载和格式化命令都有所差异,如果不做修改直接使用,把本不该改动的分区挂载并修改了的话.等着手机变"砖头"吧!

如果脚本开头有验证机型,请删除,例如assert(getprop("ro.product.device") == "**x" || getprop("ro.product.product") == "**xx");.......这就是验证机型的代码。没有则无视。

然后核对下脚本里对system分区操作是否为

format("ext4", "EMMC", "/dev/block/mmcblk0p5", "0");

mount("ext4", "EMMC", "/dev/block/mmcblk0p5", "/system");(PS:注意是否为mmcblk0p5,只需注意这个5就行)

接下来就是测试了,一般如果内核与库文件、库文件与上层框架兼容的话,至少能开机。如果卡第一屏了,分析原因,一点点排查,看脚本有无问题,看内核是否已经替换,看传感器等库文件是否合理替换...

后续修复BUG工作,主要在etc和lib、lib\hw文件夹里搜索。音频audio,相机camera,感应器sensor,灯light。无线wifi,蓝牙bluetooth....哪项不正常工作,搜索带有这些英文的驱动,替换进去即可!

主要驱动部分

lib/modules

lib/hw

etc/bluetooth

etc/firmware

etc/permissions

etc/wifi

内核

boot.img

键盘布局部分

usr/keychars

usr/keylayout

音频驱动部分

lib/

libaudio.a2dp.default.so

libaudio.primary.default.so

libaudiocompensntionfilter.so

libaudiocustparam.so

libaudioeffect-jni.so

libAudiofe-V1.so

libaudioflinger.so

libaudio-resampler.so

libaudiosetting.so

libaudioutils.so

libSR_AudioIn.so

libwebrtc_audio_preprocessing.so

lib/hw/

audio.primary.default.so

audio_policy.defanlt.so

audio_policy.stub.so

libaudio.r_submix.default.so

https://www.sodocs.net/doc/0b16035529.html,b.default.so

音效驱动部分

etc/

audio_effects.conf audio_policy.conf

lib/soundfx

基带

etc/firmware/modem.img

TP驱动部分

etc/.tp

.ht120.mtc

thermal.conf

thermal.off.conf

相关主题