首先要了解好移植替换的反向问题,如 A(官方包),B(要移植的包),把 A 的文件替换到 B 的包里,就是反向移植;反之就是正向移植。以下给出的文件列表是反向,而且是同 CPU 平台的移植,如果方向和移植包选错了毫无用处。
替换方法:最好用 BCompare 文件对比器,将 A、B 两个包解压对比替换就好。
移植替换文件列表:
====================================================
lib
====================================================
systemliblib3a.so
systemliblibaudio.primary.default.so
systemliblibaudiocompensationfilter.so
systemliblibaudioflinger.so
systemliblibaudiosetting.so
systemliblibbluetooth_mtk.so
systemliblibcam.camadapter.so
systemliblibcam.campipe.so
systemliblibcam.camshot.so
systemliblibcam.client.so
systemliblibcam.paramsmgr.so
systemliblibcam.utils.so
systemliblibcam_camera_exif.so
systemliblibcamalgo.so
systemliblibcamdrv.so
systemliblibcameracustom.so
systemliblibfeatureio.so
systemliblibGdmaScalerPipe.so
systemliblibimageio.so
systemliblibJpgDecPipe.so
systemliblibmhalImageCodec.so
=====================================================
modules
=====================================================
systemlibmodulesccci.ko
systemlibmodulesccci_plat.ko
systemlibmodulesdevapc.ko
systemlibmodulesdevinfo.ko
systemlibmoduleshid-logitech-dj.ko
systemlibmodulespvrsrvkm.ko
systemlibmodulesscsi_tgt.ko
systemlibmodulesscsi_wait_scan.ko
systemlibmodulessec.ko
systemlibmodulesvcodec_kernel_driver.ko
=====================================================
hw
=====================================================
systemlibhwaudio.primary.default.so
systemlibhwaudio_policy.default.so
systemlibhwaudio_policy.legacy.so
systemlibhwaudio_policy.stub.so
systemlib hwcamera.default.so
systemlibhwgps.default.so
systemlib hwgralloc.default.so
systemlibhwhwcomposer.mt6589.so
systemlibhwkeystore.default.so
systemlibhwlibaudio.r_submix.default.so
systemlibhwlibaudio.usb.default.so
systemlibhwlights.default.so
systemlibhw local_time.default.so
systemlibhw power.default.so
systemlibhw sensors.default.so
====================================================
firmware
====================================================
systemetcfirmwarecatcher_filter_sys2.bin 或 catcher_filter.bin
systemetcfirmwaremodem_sys2.img 或 modem.img
====================================================
====================================================
systemusr 文件全部替换官方包的
====================================================
systemvendorlib 有的需要文件全部替换官方包的
====================================================
有的 WCDMA 机型移植可能还需要替换 ril 字样的 so 库。以上给出的文件不是一定要替换完的,只要能开机的为准,越替换少系统越稳定。
要完成移植,还需内核移植,boot.img
的移植用一键 boot 移植工具移植就行,还有就是刷机脚本的修改,刷机脚本在 META-INF
这个签名文件夹里 META-INF/com.google.android
下的 updater-script
这个文件,建议用 Notepad++ 打开修改,主要修改挂载点和删除刷入 recovery(恢复模式)、uboot(内核升级文件)、logo.bin(开机一屏)这些可能照成刷机「变砖」的字段就行。有些脚本还进行了机型或 build 的验证,有的话也要删除,不然的话刷机就失败了。最后就是 build.prop
的修改,这里主要是机型、版本号等一些参数的修改。不改也不影响使用,但有些有网络默认参数要改,不改就没有信号了,具体自己看看别的教程自己研究吧!
这样移植的工作完成了,压缩打包,如果你机型的 recovery 要验证包签名,还得用 Auto-sign 签名。如果不用验证签名,那压缩了就直接刷吧。开机了测试有 bug 的就修复吧,怎么修复这个要一定的基础了,在这里就不一一说明了。如果你看了以上的教程还是不了解的话,先恶补安卓 ROM 结构基本知识吧,了解每个文件夹和每个文件的作用,移植和修复 bug 你就如鱼得水了。