搜索
热搜: 活动 交友 discuz
查看: 1432|回复: 0

[系统移植] ROM移植产生的一些BUG及修复方法

[复制链接]

27

主题

27

帖子

155

积分

超级版主

Rank: 8Rank: 8

积分
155
发表于 2018-6-27 09:30:04 | 显示全部楼层 |阅读模式


      移植产生的一些bug及修复方法BUG1:飞行模式  MIUI每周的更新都会更新framework-res.apk这个文件,因此每周移植之后,需要提取最新的framework-res.apk,反编译,找到values这个文件夹,把附件中解压得到的arrays.xmlbools.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问题      找到CM10framework.jar/com/android/internal/telephony/Samsung*****.smalif" A这个文件夹的所有开头是Samsung*****的全部复制替换到MIUIframework.jar对应置替换好后MIUIframework.jar就可以回编译替换了

BUG4:com.android.phone无限报错  找到CM10.1CM10原包的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.xmlpower_profile.xml两个文件,替换到你的机型的对应位置,回编译你的机型的framework-res.apk。打开压缩文件管理器,把回编译生成的storage_list.xmlpower_profile.xml两个文件拖到原你的机型的framework-res.apk里,搞定了

BUG6:部分软件无法识别内部储存  MIUI基于早期的CMMountService这个类不支持Incredible的内部存储,我们要替换成CMMountService代码,因为代码都已经编译了,所以,我们要先进行反编译。要用到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里面的MediaScannerReceiverMediaScannerService开头的文件,这个可以用我或者是CM里面的替换都可以。更简单的方法,直接替换MediaProvider.apk文件也是可以的。因为最近这个apk好像都没有改动。

BUG9解决通话时对方听不到我方声音   修复方法:反编译phone.apk,找到res\values\bools.xml文件,把第13行的true语句中的true改成false,如果时false就改为true(可以对比原包的文本内容)

BUG10手机要求激活  --桌面上按菜单键->设置->无线和网络->移动网络->CDMA订阅->RUIM/SIM--长按关机键->启动飞行模式--长按关机键->关闭飞行模式--如有必要重启一次手机 -手机出现漫游标志--设置->无线和网络->移动网络->系统选择->仅本网--如有必要重复手机要求激活的步骤

BUG11通讯录fc   这个只要替换libsqlite.solibsqlite_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.1CM10原包的system\framework\telephony-common.jar,(cm10反编译framework.jar)反编译出来 找到com\android\internal\telephony目录下替换gsmcdma文件夹BUG。。。。。。。其他bug修复还有待更新!

来源:{http://bbs.zecoki.com/forum-70-1.html}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




上一篇:三星qmg astc webp格式转png图片工具
下一篇:android打包解包boot.img,system.img
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

抖音账号
关注抖音
加入粉丝群,抽取论坛金币


Archiver|手机版|小黑屋|IT趣-GEEK社区

GMT+8, 2024-11-24 01:42 , Processed in 0.075294 second(s), 22 queries .

Powered by Discuz! X3.4. 技术支持 by 巅峰设计

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表