本帖最后由 似梦如痴 于 2014-12-20 20:35 编辑
此教材理论上适合MTK6589间的移植,比如夏新N828、联想A820、等,MIUI、百度云等之间的相互移植
现在来说说逆向移植
先选择一个合适的ROM 作为基础包(4.2的冷大、沐雪谁的包都可以吧),再下载你要移植过来的基准包,比如乐蛙的n828
下面以逆向移植4.2的乐蛙的n828为例,
下面操作在两个压缩包之间进行,解压(会用文件对比工具Beyond Compare的话方便很多)
一、修改脚本 打开META-IND/com/google/android/updater-script
1.删除下面机型验证信息(如果脚本中没有这些语句,则跳到下一步) assert(getprop("ro.product.device") == " n828" || getprop("ro.build.product") == " n828" || getprop("ro.product.device") == " n828" || getprop("ro.build.product") == " n828");
2.删除刷入recovery命令(如果脚本中没有下面语句,则跳到下一步) assert(package_extract_file("recovery.img", "/tmp/recovery.img"), write_raw_image("/tmp/recovery.img", "recovery"), delete("/tmp/recovery.img")) 同时删除包中的recovery.img
3修改挂载system分区 有些要移植的ROM,挂载system分区和7295的不一样 format("ext4", "EMMC", "/dev/block/mmcblk0p4", "0", "/system"); mount("ext4", "EMMC", "/dev/block/mmcblk0p4", "/system"); 需改为和7295一样的,修改后如下 format("ext4", "EMMC", "/dev/block/mmcblk0p7", "0", "/system"); mount("ext4", "EMMC", "/dev/block/mmcblk0p7", "/system"); data是9 改成和官方的一样就可以了
4删除其它(如果有下面的语句也删除掉,没有则跳过此步)其他的.img一样做法 assert(package_extract_file("uboot.img", "/tmp/uboot.img"), write_raw_image("/tmp/uboot.img", "uboot"), delete("/tmp/uboot.img")); 同时删除包中的uboot.img
二、替换System/lib下和system/etc下 1.将基准包乐蛙的n828中的System/etc里的bluetooth、firmware、permissions、wifi对比替换,Permissions下的与官方全部一样就可以,其他包可能有多余的文件,不用删除,vold.fstab基本上都一样无非内外置手机卡
2.对比替换System/lib里的hw(传感器相关),modules(基带什么的)
3.libcamera… .so,这是相机驱动,替换成7295的,lib3a.so这是闪光的,libaudio… .so音频,Libbluetooth… .so蓝牙,还用libfeatureio.so,libGdmaScalerPipe.so,libimageio.so,libJpgDecPipe.so, libJpgEncPipe.so, libmhalImageCodec.so, 等一些驱动,其他有些是需要添加到急准包的,libmsc-v8.so, libsmartaiwrite-jni-v11.so, libsmartaiwrite-jni-v12.so, libSwJpgCodec.so, libvadLib-v5.so等
5.其它收音机驱动啊等,我都是省事不替换的,有问题可以换一下
6.删除内置vendor\ operator,system\app,外挂data\app下等
三、替换System/usr 把乐蛙的n828中的system/usr/keychars,keylayout对比替换,一般全换,mtk-tpd.kl这个是按键震动
四、替换system/vendor/lib 这个文件为保险,我把整个文件夹对比替换
五、替换内核 六、System/build.prop修改 build.prop你就拿乐蛙的n828的来修改一下吧,不修改也能开机的,我一般不修改 |