同CPU不同运行的手机miui移植工具MIUI8,成功了,但是有Bug,手机触不了屏,三键

查看: 6687|回复: 120
MTK手机移植ROM及修复部分bug教程(含跨CPU)-LoveLu [ATX团队]
TA的每日心情奋斗 10:13签到天数: 11 天连续签到: 2 天[LV.3]偶尔看看II
本教程来源于网络转载,转载于安&&智团atx队
【本教程只适用于MTK芯片手机】
理论上只能同安卓版本相互移植,例如4.1移植4.1,4.2移植4.2,不同版本的请自测。
MTK芯片的手机移植很简单,但是后续修复Bug部分就坑爹了,甚至有可能会被某些Bug困住几个月。
比如说我做中兴U956的FuntouchOS,传感器Bug始终搞不定,唉,说多了都是一把一把的眼泪啊。
教程开始。
建议选取分辨率相近的机器,避免部分错位和不开机情况。
第一部分:同平台移植(例如MTK6589相互移植)
1.把官方ROM和要移植的ROM解压。
2.从你的官方系统中提取以下文件(建议整合一下,方便以后更多次的移植)
需要替换的文件夹有:游客,如果您要查看本帖隐藏内容请
二、刷机脚本的修改
用notepad++打开要移植的ROM中
META-INF/google/android/updater-script
①如果脚本开头有验证机型
例如assert(getprop(“ro.product.device”)== “**x” ||getprop(“ro.product.product”) ==
& & 这是验证机型的代码。没有则无视,有则删除也可以修改成自己的机器名称。
②找到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中刷机脚本的整个内容替换到要移植的ROM的脚本中去
三、build.prop修改部分
ril.telephony.mode=#& &这里#为一个数字
把这个数字改为官方包里的
至于机型、版本,可以不改
四、boot.img部分
这里呢,有一键移植boot工具,网上就可以找到,用工具移植一下boot.img就OK了。本文后面也有手动修改boot.img的部分教程
把上面三个打包成zip格式的压缩包。
(如果移植包目录除了/system,data/,/META-INF,boot.img还有一些其它文件,比如lk.bin,logo.img,或者logo.bin等等,这一部分文件可以用官方rom里的文件替换。如果官方rom里没有那些文件,那么就在刷机脚本boot.img那一段把响应文件刷入部分的脚本删除就OK了。有经验的童鞋可以自行删除不想要的文件。)
下面是压缩文件时应选择的配置:
压缩格式: ZIP
压缩方式: 标准
网上下载签名工具,签名以后就OK了。
到这里就基本完成了。
然后就是刷入测试了。90%以上成功率。
第二部分、跨CPU平台移植 以MT6582移植MT6572为例
大致步骤差不多,只是还需要注意更多的细节
1.跟刚才一样的提取文件步骤游客,如果您要查看本帖隐藏内容请
这里以6572移植6589为例
打开要移植的boot解包后的boot.img-ramdisk,然后从中复制所有文件到官方boot中的boot.img-ramdisk 文件夹中。如果文件存在就跳过,相当于把要移植包boot中多余的文件复制到官方中去
打开官方boot.img-ramdisk文件夹 中的init.rc
①.修改default.prop,参照要移植的boot改
#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
修改后面两个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
第二步是修改init.rc里的启动项
以移植LewaROM为例(MIUI大同小异,只是后面的lewa-framework.jar是miui-framework.jar而已,其它第三方ROM也差不多,具体看第三方ROM的启动项后面)
复制以下代码(不放心的可以解开要移植包的内核查看)
:/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
修改好以后保存文件,然后打包boot.img,搞定
后面就是打包ROM,然后该干嘛干嘛。
附:如果遇到短信,电话,设置,通讯录强行关闭,修复方法:
反编译官方和要移植的包中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有多少换多少)
部分顽固问题需要修改boot中的init.rc,找到其中的camera部分,对比修改就行了
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
如果你的cpu是MT6628,那么把1改为3
然后找到:
mediatek.wlan.chip=MT6620
修改这里的MT6620,例如我的是mt6628,那么改为:mediatek.wlan.chip=MT6628
mediatek.wlan.module.postfix=_mt6620
修改其中的mt6620例如我的是mt6628,那么改为:mediatek.wlan.module.postfix=_mt6628)
然后打开刷机脚本,找到下面内容,没找到自己添加
symlink(&wlan_mt6620.ko&, &/system/lib/modules/wlan.ko&)
同样修改这里的mt6620
然后替换以下文件:
/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
10.关机充电动画错位
替换system/bin/ipod
11.只读到内置存储或者外置SD卡
反编译framework-res.apk(不会的请自行百度教程)
修改/res/xml/storage-list.xml,参照官方ROM里相同文件修改
[这一部分有很多解决办法,这里仅提供一种]
12.图标太大或太小
修改build.prop
ro.sf.lcd_density=xxx
后面的xxx是数字,根据你机器的参数修改
13.删除虚拟按键qemu.hw.mainkey=1
TA的每日心情开心 17:27签到天数: 1 天连续签到: 1 天[LV.1]初来乍到
自手机登陆
很好很好很好
TA的每日心情怒 10:32签到天数: 14 天连续签到: 1 天[LV.3]偶尔看看II
TA的每日心情开心 11:33签到天数: 10 天连续签到: 1 天[LV.3]偶尔看看II
自手机登陆
TA的每日心情开心 06:02签到天数: 48 天连续签到: 1 天[LV.5]常住居民I
自手机登陆
风雅威武!!
TA的每日心情开心 19:08签到天数: 12 天连续签到: 1 天[LV.3]偶尔看看II
自手机登陆
TA的每日心情无聊 06:10签到天数: 6 天连续签到: 1 天[LV.2]偶尔看看I
TA的每日心情开心 23:32签到天数: 10 天连续签到: 1 天[LV.3]偶尔看看II
自手机登陆
好东西要支持
TA的每日心情擦汗 15:03签到天数: 11 天连续签到: 2 天[LV.3]偶尔看看II
自手机登陆
好东西要支持
TA的每日心情衰 15:28签到天数: 58 天连续签到: 1 天[LV.5]常住居民I
自手机登陆
谢谢分享。。
Powered by
Templated By经验402 米
在线时间9 小时
积分 423, 距离下一级还需 77 积分
积分 423, 距离下一级还需 77 积分
机型Galaxy Note 2
签到次数48
MIUI版本4.8.8
来自网页版
给老爷子买的米4 LTE,结果被儿子摔碎了,话说米4的质量的确不能跟苹果相比
是从iphone4升级过来的,之前老爷子的iphone4,被我儿子摔了20多次,还是相当的强健,没有任何不妥
结果米4在有钢化膜、硅胶壳的保护下,仍然一次毙命,左下角碎裂。
懒得不上图了。
故障说明,因为左下角碎裂,导致 实体MENU键处于半触发状态,经常莫名的会启动后台运行程序,同时三个实体键出现经常触发不灵敏的状态。
所以想来想去,还是想启动安卓原生的虚拟键,禁用三个实体键。
几经摸索,最后搞定。老头子很喜欢。
现在就详述如下:
1. 启用虚拟按键:
先刷成小米开发版,或者稳定版root。
因为我这个机器上已经拍摄了大量的照片,还有儿歌,还有录像,转移太费劲,我就采用稳定版root的方式。
root试了所有的工具包括:root精灵、root大师、百度root、还有官方的superSU、最后用360 一键root,root成功,但是360会给手机上装好几个软件,到时候root完了删除。
root过后,安装REexplore,
开启安卓原生虚拟按键的方法
第1步:系统状态改为可读写
第2步:进去system目录下
第3步:修改build.prop(长按build.prop文件选择以文本方式编辑)
第4步:在build.prop文件最后添加qemu.hw.mainkeys=0
第5步:在RE文件管理器的右上角选择保存并退出。(一般会自动生成一个bak文件,如果有问题,改名替换回来即可)
第6步:重启手机
第7步:重启后三个虚拟键就启动了。
2. 禁用三个实体键。
关闭实体按键的方法
第1步;同样使用RE文件管理器修改系统状态为读写
第2步:进入system/usr
/keylayout目录下
第3步:选择 所有的以.kl 结尾的文件
第4步:找到每个.kl 文件中如下信息
key 102 HOME VIRTUAL
key 139 MENU VIRTUAL
key 158 BACK VIRTUAL
,分别在key前添加# 或者将这三个字段直接删除
第5步:选择RE文件管理器右上角的保存并退出
第6步:重启手机
禁用成功。但是灯关不掉,如果有知道的给我说一声,把这几个灯关掉了,就完美了。
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
已有&4&人评分
助人为乐^_^
感谢分享^_^
助人为乐^_^
感谢分享^_^在按键处可以关三键的灯.
经验402 米
在线时间9 小时
积分 423, 距离下一级还需 77 积分
积分 423, 距离下一级还需 77 积分
机型Galaxy Note 2
签到次数48
MIUI版本4.8.8
来自网页版
当然,实体键滑动 到单手模式也失效了。但是对我没啥影响。
经验1455 米
在线时间17 小时
积分 1636, 距离下一级还需 364 积分
积分 1636, 距离下一级还需 364 积分
机型小米手机3/4 WCDMA版
签到次数30
MIUI版本6.3.4
来自网页版
你们说的实体机键虚拟键是什么
经验402 米
在线时间9 小时
积分 423, 距离下一级还需 77 积分
积分 423, 距离下一级还需 77 积分
机型Galaxy Note 2
签到次数48
MIUI版本4.8.8
来自网页版
你们说的实体机键虚拟键是什么
实体键就是手机下巴上的那三个带灯的键,虚拟键就是屏幕上显示三个同样的按键。
经验2977 米
在线时间262 小时
版本7.1.12
头像被屏蔽
MIUI-XP研发组
机型小米手机3/4 WCDMA版
签到次数87
MIUI版本7.1.12
来自网页版
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
经验2471 米
在线时间75 小时
版本6.12.22
积分 2723, 距离下一级还需 2277 积分
积分 2723, 距离下一级还需 2277 积分
机型小米手机3/4 WCDMA版
签到次数65
MIUI版本6.12.22
通过手机发布
楼主买个iPhone6 再买个小米1 一起摔一下试试看!逗
经验1933 米
在线时间208 小时
版本7.2.22
MIUI内部人员
积分 2372, 距离下一级还需 2628 积分
积分 2372, 距离下一级还需 2628 积分
机型红米Note3 全网通
签到次数46
MIUI版本7.2.22
通过手机发布
感谢分享!,
经验3615 米
在线时间152 小时
版本7.2.21
机型小米手机5
签到次数85
MIUI版本7.2.21
通过手机发布
经验402 米
在线时间9 小时
积分 423, 距离下一级还需 77 积分
积分 423, 距离下一级还需 77 积分
机型Galaxy Note 2
签到次数48
MIUI版本4.8.8
来自网页版
楼主买个iPhone6 再买个小米1 一起摔一下试试看!逗
媳妇儿的iphone6的确也挺住了。
经验1476 米
在线时间185 小时
版本V8.1.3.0.MXDCNDI
积分 2041, 距离下一级还需 2959 积分
积分 2041, 距离下一级还需 2959 积分
机型小米手机3/4 WCDMA版
签到次数45
MIUI版本V8.1.3.0.MXDCNDI
通过手机发布
已关注微信
已关注极客秀微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI五周年
MIUI五周年纪念勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
Copyright (C) 2016 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号经验265 米
在线时间4 小时
版本5.4.17
积分 269, 距离下一级还需 231 积分
积分 269, 距离下一级还需 231 积分
机型三星 Galaxy S5(G9006v/G9008v/G900f)
签到次数26
MIUI版本5.4.17
来自网页版
红米Note 4G
手机一发热cpu就强制降频,软件也改不了,无法正常使用,卡顿太严重。
手机一发热cpu就强制降频,软件也改不了,无法正常使用,卡顿太严重。
遇到的人越多,MIUI开发组会越关注
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
已有&1&人评分
感谢分享^_^
经验176 米
在线时间4 小时
版本V6.6.3.0.KHICNCF
积分 188, 距离下一级还需 12 积分
积分 188, 距离下一级还需 12 积分
机型红米Note 4G版
签到次数14
MIUI版本V6.6.3.0.KHICNCF
来自网页版
我的也是 一发热手机就卡 我放在冰箱里一会就好 但是发热就不行
经验265 米
在线时间4 小时
版本5.4.17
积分 269, 距离下一级还需 231 积分
积分 269, 距离下一级还需 231 积分
机型三星 Galaxy S5(G9006v/G9008v/G900f)
签到次数26
MIUI版本5.4.17
来自网页版
我的也是 一发热手机就卡 我放在冰箱里一会就好 但是发热就不行
哥们太有才了
经验4295 米
在线时间270 小时
版本6.12.30
机型小米Max 高配版
签到次数97
MIUI版本6.12.30
通过手机发布
经验2802 米
在线时间214 小时
机型红米Note2 移动/标准
签到次数47
MIUI版本7.2.9
通过手机发布
硬件上不支持吧,
经验265 米
在线时间4 小时
版本5.4.17
积分 269, 距离下一级还需 231 积分
积分 269, 距离下一级还需 231 积分
机型三星 Galaxy S5(G9006v/G9008v/G900f)
签到次数26
MIUI版本5.4.17
来自网页版
这个问题能不能解决一下,太影响使用了
经验3506 米
在线时间107 小时
版本V8.1.2.0.MHOCNDI
积分 4036, 距离下一级还需 964 积分
积分 4036, 距离下一级还需 964 积分
机型红米Note3 全网通
签到次数24
MIUI版本V8.1.2.0.MHOCNDI
来自网页版
发热容易死机,玩天天飞车有时很卡
miui本周更新内容:
*升级 MIUI升级为A DUI,全面提升广告性能
*优化 全面提升广告显示速度,疾速加载不再等待
*新增 天气、日历、安全中心、应用商店、小米音乐、小米视频、浏览器等全面布局广告
*新增 权限管理支持一键提升广告权限,一键提升广告刷新频率
经验595 米
在线时间149 小时
积分 924, 距离下一级还需 1076 积分
积分 924, 距离下一级还需 1076 积分
机型红米Note2 移动/标准
签到次数34
MIUI版本0.0.0
来自网页版
在屋里玩游戏刚开始很流畅,过会就发热,卡的跟gif图片似的,但在屋外玩游戏就一直很流畅,绝不卡顿,可总不能老在外边啊,手机受得了,人受不了啊!
已关注微信
已关注极客秀微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI 300周
MIUI 300周更新纪念勋章
MIUI 7纪念勋章
Copyright (C) 2016 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号}

我要回帖

更多关于 miui移植教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信