ROM移植产生的一些BUG及修复方法
http://bbs.zecoki.com/data/attachment/common/cf/102311q362klb36li21t72.png移植产生的一些bug及修复方法BUG1:飞行模式MIUI每周的更新都会更新framework-res.apk这个文件,因此每周移植之后,需要提取最新的framework-res.apk,反编译,找到values这个文件夹,把附件中解压得到的arrays.xml和bools.xml替换进去,回编译替换新的resources.arsc,再放到卡刷包的system/framework里面替换掉原来的framework-res.apk,即可修复飞行模式!
BUG2:通知栏黑边,锁屏卡顿MIUI每周的更新都会更新framework.jar这个文件,因此每周移植之后,需要提取新的framework.jar,反编译,找到 framework/smali/android/app/extraactivitymanaget.smali这个文件,找到GT-i9000,更改为我们设备的值“ariesve” ,回编译替换framework.jar里面的classes.dex,再放到卡刷包的system/framework里面替换掉原来的framework.jar,即可修复下拉通知栏黑边!
BUG3:开启PIN锁之后数据按钮失灵和APN问题 找到CM10的framework.jar/com/android/internal/telephony/Samsung*****.smalif" A这个文件夹的所有开头是Samsung*****的全部复制替换到MIUI的framework.jar对应置替换好后MIUI的framework.jar就可以回编译替换了
BUG4:com.android.phone无限报错找到CM10.1或CM10原包的system\framework\telephony-common.jar,(cm10反编译framework.jar)反编译,com\android\internal\telephony目录下,把所有带有Samsung*****.smali的文件全部替换到你的机型的包的对应位置,回编译替换即可
BUG5:无法挂载内置sd卡找到CM10原包的framework/framework-res.apk,反编译,找到res/xml/storage_list.xml和power_profile.xml两个文件,替换到你的机型的对应位置,回编译你的机型的framework-res.apk。打开压缩文件管理器,把回编译生成的storage_list.xml和power_profile.xml两个文件拖到原你的机型的framework-res.apk里,搞定了
BUG6:部分软件无法识别内部储存MIUI基于早期的CM,MountService这个类不支持Incredible的内部存储,我们要替换成CM的MountService代码,因为代码都已经编译了,所以,我们要先进行反编译。要用到baksmali工具,可以用我附件提供的工具包中的脚本。先用解压工具打开framework/services.jar,不用解压,直接将classes.dex拖到工具包的文件夹中再拖动classes.dex到"解包dex.bat"上面,过一会儿,就会生成一个out文件夹将out文件夹重命名,随便啥名都可以,比如services.miui用解压工具打开我之前ROM里面services.jar,也用同样的方法解包dex同样将out文件夹重命名,比如services.cm打开services.cm/smali/com/android/server,在这个文件夹里面找到所有以MountService开头的文件,拷贝并替换services.miui里面相应的文件完成替换后,将services.miui拖动到"打包dex.bat"上面,会生成一个out.dex的文件将out.dex重命名成classes.dex,直接替换framework/services.jar里面的文件就可以了,不用重新签名这样,MountService的替换就完成了 一个问题需要说明一下,一定要用我的ROM里面的services.jar,不能用CM的。我基于CM的代码做了一点修改,解决内部存储挂载的时候主界面FC的问题,具体的改动,改天我再写一往篇来说明吧,其实,一共就改三行代码
Bug7解决漫游图标的问题这个问题比较好解决,用解压工具打开我的ROM里面的framework/framework-res.apk,找到res/xml/eri.xml文件,替换掉MIUI里面的就可以了。也不用重新签名。eri.xml文件是经过加密的。原文是:
[*]
[*]
[*]
[*]
[*]
BUG8解决图库和音乐对内部存储的支持 跟解决MountService的方法类似,要替换app/MediaProvider.apk里面的MediaScannerReceiver和MediaScannerService开头的文件,这个可以用我或者是CM里面的替换都可以。更简单的方法,直接替换MediaProvider.apk文件也是可以的。因为最近这个apk好像都没有改动。
BUG9解决通话时对方听不到我方声音 修复方法:反编译phone.apk,找到res\values\bools.xml文件,把第13行的true语句中的true改成false,如果时false就改为true(可以对比原包的文本内容)
BUG10手机要求激活--桌面上按菜单键->设置->无线和网络->移动网络->CDMA订阅->RUIM/SIM--长按关机键->启动飞行模式--长按关机键->关闭飞行模式--如有必要重启一次手机 -手机出现漫游标志--设置->无线和网络->移动网络->系统选择->仅本网--如有必要重复手机要求激活的步骤
BUG11通讯录fc 这个只要替换libsqlite.so和libsqlite_jni.so这两个文件到即可
BUG12手机短信音解决反编译phone.apk里面的classes.dex找到CallNotifier.smali搜索:.local v3, toneID:I在这个代码下面加入01. const/4 v7, 0x202. if-ne v7, v6, :cond_7a03. const/4 v7, 0x104. if-eq v7, v5, :cond_1305. .line 171106. :cond_7a复制代码然后回编译替换文件到原文件
BUG13 彩信不可接收在MMSC里面写:http://mmsc.vent.mobi 彩信代理写:10.0.0.200 彩信端口选:80这就为ctnet设置了彩信代理,就可以使选择ctnet联网方式照常接收彩信
BUG14 数据网络不可用找到CM10.1或CM10原包的system\framework\telephony-common.jar,(cm10反编译framework.jar)反编译出来 找到com\android\internal\telephony目录下替换gsm和cdma文件夹BUG。。。。。。。其他bug修复还有待更新!
来源:{http://bbs.zecoki.com/forum-70-1.html}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]