收藏 分销(赏)

MTK跨平台移植教程汉化版.doc

上传人:xrp****65 文档编号:5973089 上传时间:2024-11-24 格式:DOC 页数:11 大小:49.50KB
下载 相关 举报
MTK跨平台移植教程汉化版.doc_第1页
第1页 / 共11页
MTK跨平台移植教程汉化版.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述
如何移植ROM 只试用于MTK芯片手机! 在这篇教程中,你将会学会同平台CPU移植,也将会跨平台移植。 试用于芯片 MT6589 to MT6577移植 MT6582 to MT6572移植 MT6577 to MT6575移植 只能ICS移植ICS 或者JB to JB 可能4.1移植4.2也行,只是可能。 不需要安卓源码 不需要内核源码 不需要安卓厨房 不需要Linux环境 只需要: * 大脑的思考 * 耐心去做的决心 * Windows XP/7/8 * 7-Zip解压缩工具 * Notepad++文本编辑器 * Bootimg 解包打包工具 * 官方ROM和要移植的ROM 准备好了,现在开始... 同平台移植 ( 例如: MT6572 移植MT6572) *把官方ROM和要移植的ROM解压。 * 从你的官方系统中提取以下文件替换到你想要移植的ROM中,注意,替换整个文件夹时先删除要移植的包中相应文件夹,不要直接合并。 需要替换的文件或文件夹有: *system/vendor/lib *system/usr/keychars和keylayout *system/lib/modules *system/lib/hw *system/lib/libncurses.so *system/etc/firmware *system/etc/vold.fstab *system/etc/vold.fstab.nand *system/etc/bluetooth 当出现一下bug时,替换以下文件... *system/etc/permissions *system/etc/security *system/etc/audio *system/etc/wifi *system/lib/drm *system/lib/egl *system/lib/soundfx * 然后把官方的boot.img替换到要移植的包,前提是你的官方包boot和要移植的包中boot的启动项要相同,如果你移植像乐蛙ROM这样的,还需修改启动项。因为乐蛙还导入了lewa-framwork.jar,下文有说明,建议移植任何ROM都修改一下boot中的启动项,下文有讲怎么修改。 *接下来用notepad++打开要移植的ROM中的 META-INF/google/android/updater-script这个刷机脚本 * 找到这段: format("....... 只需要修mmcblk0p.. 为你官方包的分区 * 依然像上面那样把下面的修改为你官方包的对应分区,可以参考官方包中的刷机脚本改 mount("... 例如: 这是要移植的ROM中的刷机脚本的部分内容: format("ext4", "EMMC", "/dev/block/mmcblk0p5", "0", "/system"); mount("ext4", "EMMC", "/dev/block/mmcblk0p5", "/system"); 这是官方包中刷机脚本的部分内容: format("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system"); mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system"); 那么,你只需把要移植的ROM中的刷机脚本中的mmcblk0p5改为mmcblk0p3 修改好了,要移植的ROM中的刷机脚本那部分内容应该像这样: format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system"); mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system"); 不要直接把官方ROM中刷机脚本的整个内容替换到要移植的ROM的脚本中去! * 现在基本完成,你要移植的ROM基本有下面这几个文件,这是最基本的: -META-INF -system -boot.img * 现在用7zip把上面三个打包成zip格式的压缩包。 * 压缩文件时,应该这样配置: 压缩格式: ZIP 压缩方式: 正常 * 现在,把制作好的zip包放入SD卡,然后进入第三方Recovery模式 * 选择清空数据,恢复出厂设置,完成后,再选择清空cache缓存。 *接下来,选择“从SD卡安装zip包,选择那个包,确定,然后等待刷机完成” 接下来,是跨平台移植 ( 例如: MT6582 移植 MT6572 ) 请仔细看接下来的教程 * 官方包中提取以下文件或文件夹替换到要移植的包中 *system/vendor/lib *system/usr/keycharts和keylayout *system/lib/modules *system/lib/hw *system/lib/libncurses.so *system/etc/firmware *system/etc/vold.fstab *system/etc/vold.fstab.nand *system/etc/bluetooth * 接下来用notepad++打开要移植包中的build.prop,找到以下内容: ro.mediatek.platform=MT65xx 把这里的MT65xx改为你的手机的cpu型号。 例如我的手机cpu型号为MT6572,那么就改为: ro.mediatek.platform=MT6572 *然后用notepad++打开要移植包中的刷机脚本 * 在"set_perm"这段的结束地方添加这句: set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt65xx.so"); [把这里的mt65xx改为你的cpu型号] 例如,我的cpu是MT6572,那么就这样改: set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt6572.so"); *现在,用boot解包工具把官方boot和要移植的boot解包。 *然后打开要移植的boot解包后的boot.img-ramdisk,然后从中复制所有文件到 你官方boot中的boot.img-ramdisk 文件夹中。如果文件存在就跳过,相当于把要移植包boot中多余的文件复制到官方中去 *然后用notepad++打开官方boot.img-ramdisk文件夹 中的init.rc *找到这句,并修改cpu型号为你的cpu型号 #Create Chip Property on early_property:ro.hardware=mt6582 setprop ro.mtk.hardware mt6589 on early_property:ro.hardware=mt6589 setprop ro.mtk.hardware mt6589 例如,我的cpu是MT6572,那么就这样改 : #Create Chip Property on early_property:ro.hardware=mt6582 setprop ro.mtk.hardware mt6572 on early_property:ro.hardware=mt6589 setprop ro.mtk.hardware mt6572 *接下来,修改default.prop,参照要移植的boot改。 * 然后把修改好的官方boot打包,并把打包的boot.img和要移植包中的其他两个修改好的文件夹压缩,方法和上面一样。 移植Lewa OS5 ROM: *官方包提取这些文件或文件夹到LeWa OS5 ROM中 *system/vendor/lib *system/usr/keylayout和keycharts *system/lib/modules *system/lib/hw *system/etc/firmware *system/etc/vold.fstab *system/etc/vold.fstab.nand *system/etc/bluetooth * 然后解包官方的boot.img * 打开init.rc * 找到这几句,可能各个机型以下内容不同,有的机型只有一个启动项,这只是个示范。 on early_property:ro.build.type=user write /proc/bootprof "INIT: user build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=userdebug write /proc/bootprof "INIT: userdebug build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=eng write /proc/bootprof "INIT: eng build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar *添加以下这句到每三行的最后,注意/前面有个冒号! :/system/framework/lewa-framwork.jar 例如: on early_property:ro.build.type=user write /proc/bootprof "INIT: user build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/lewa-framework.jar on early_property:ro.build.type=userdebug write /proc/bootprof "INIT: userdebug build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=eng write /proc/bootprof "INIT: eng build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar:/system/framework/lewa-framework.jar * 修改好了保存,然后用bootimg打包,把打包好的boot.img与之前修改好的那几个文件夹一起打包成zip,方法和之前一样。 移植MIUI ROM *官方包提取这些文件或文件夹到MIUI ROM中 *system/vendor/lib *system/usr/keylayout和keycharts *system/lib/modules *system/lib/hw *system/etc/firmware *system/etc/vold.fstab *system/etc/vold.fstab.nand *system/etc/bluetooth * 然后解包官方的boot.img * 打开init.rc * 找到这几句,可能各个机型以下内容不同,有的机型只有一个启动项,这只是个示范。 on early_property:ro.build.type=user write /proc/bootprof "INIT: user build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=userdebug write /proc/bootprof "INIT: userdebug build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=eng write /proc/bootprof "INIT: eng build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar *和移植乐蛙一样,在每行最后添加以下内容,/前面有个冒号! :/system/framework/miui-framework.jar * 然后打包,接下来就和之前一样 尽情享受你的ROM吧! 修复bug 短信,电话,设置,通讯录强行关闭,修复方法: 反编译官方和要移植的包中framework.jar * 找到: \smali\com\mediatek *替换官方所有的这个文件夹的内容到移植的ROM中 * 然后,找到 \smali\com\android\server * 替换官方所有的这个文件夹的内容到移植的ROM中 * 修改好后,回编译要移植的ROM的framework.jar,然后替换回去。 * 修复其他bug 1、无信号、未知基带、无SIM卡如何修复? 替换以下文件为官方: \system\bin\ccci_fsd \system\bin\ccci_mdinit、 \system\bin\gsm0710muxd、 \system\bin\netd、 \system\bin\netdiag \system\bin\p2p_supplicant \system\bin\wpa_supplicant \system\lib/mtk-ril.so 2、相机问题,官方提取以下文件替换: \system\lib/hw/camera.default.so \system\lib\libcamalgo.so \system\lib\libmhaldrv.so \system\lib\libcamera_client.so \system\lib\libcameracustom.so \system\lib\libcameraprofile.so \system\lib\libcameraservice.so \system\lib\libmhal***.so(搜索libmhal有多少换多少) 3、GPS问题,替换: /system/xbin/libmnlp 4、蓝牙问题,替换: /system/lib/libbluetooth_mtk.so /system/lib/libbluetoothem_mtk.so 5、音频问题,替换: \system\lib\libaudio.a2dp.default.so \system\lib\libaudio.primary.default.so \system\lib\libaudiocompensationfilter.so \system\lib\libaudiocustparam.so \system\lib\libaudioeffect_jni.so \system\lib\libaudioflinger.so \system\lib\libaudiosetting.so 6、收音机问题,替换: \system\lib\libfmar1000.so \system\lib\libfmcust.so \system\lib\libfmjni.so \system\lib\libfmmt6616.so \system\lib\libfmmt6620.so \system\lib\libfmmt6626.so \system\lib\libfmmt6628.so 7、修复wifi和radio: 打开build.prop,找到以下内容(可以参考官方包中的改): (MT6572不需要这样做) fmradio.driver.chip=1 (把1改为3,如果你的cpu是MT6628) mediatek.wlan.chip=MT6620 (修改这个 mediatek.wlan.chip=MT6620 为你的 WLAM 芯片型号 例如我的是mt6628,那么改为: mediatek.wlan.chip=MT6628) mediatek.wlan.module.postfix=_mt6620 (修改这个 mediatek.wlan.module.postfix=_mt6620 为 你的 WLAM 芯片型号, 例如我的是_mt6628,那么改为: mediatek.wlan.module.postfix=_mt6628) * 然后打开要移植包的刷机脚本,找到下面内容,没找到自己添加。 symlink("wlan_mt6620.ko", "/system/lib/modules/wlan.ko") (把这里的 wlan_mt6620.ko 改为你的 WLAM 芯片型号。 例如我的是mt6628,那么改为: wlan_mt6628.ko ),然后替换以下文件: /system/bin/p2p_supplicant /system/bin/wpa_supplicant /system/lib/libwpa_client.so /system/lib/libhardware_legacy.so /system/lib/有wifi或wlan字眼的so文件 8、内置储存和外置储存反了 替换/system/etc/vold.fstab为官方。 9、usb不能挂载储存卡 替换/system/bin/vold为官方。 10、传感类方面 替换/system/hw下所有文件和 /system/lib/libsensorservice.so ZhaoHay翻译,删减部分无用内容。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服