如何移植MIUI_第1页
如何移植MIUI_第2页
如何移植MIUI_第3页
如何移植MIUI_第4页
如何移植MIUI_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如何移植MIUI此教程仅介绍如何移植MIUI,原理方面的东西不会涉及太多,主要是因为我对原理方面的东西也不是很 懂,怕误导了大家。我以移植MIUI到Incredible为例子:接下来我们正式讲如何移植 MIUI。Android的ROhtP 是一个经过签名的zip包,我们看一下这个zip包的 格式:L META-INFI ccmt androidgoogle工 j android update-binary upditer*script CERT.RSA CERKSF MANIFEST" systeiTiiD妇叩t> binD etcD I fontst J frameworkD

2、 f libD i mediat> 顷t> | xbin目录结构应该在很多地方都有介绍过,为了完整性, 我还是简单地介绍一下:META-INF这里面主要是签名文名和刷机时执行的唧本(updater-script ),移植时,我们主要要更改的 就是刷机的唧本。system这里面就是android的系统部分app这里存放的是系统的app,每个app都有两个文件, 一个*apk,个*odex ,我们在移植时,要将这 个文件合并到对应的*.apk里面去,apk文件其实 就是一个zip文件,可以用WinRA或7zip打开的, 当然,合并odex文件不是把它改名直接放到 apk 里去这么简单的

3、,后面具体介绍一下。还有,这个 文件夹里面的程序,刷完以后是不能通过程序管理 来卸载的。bin这里面存放的是native程序,不好点思,一下子 忘掉中文怎么说了。简单来说,apk是JAVA程序, 而这个是C/C+勺程序。etc这里面存放的是系统默认的配置文件,GPS勺配置也在这里 。fonts这个是字体文件夹,一般很少改动,除非要做美化framework 这里存放的是android框架,移植MIUI,很多改动 在这个文件夹里,关化 ROM勺话,主要改 framework-res.apk 就可以了。当然,MIUI本身就有主题机制了,不用这么麻烦去改。这个文件夹里 也会有对应的odex文件。lib

4、一些通过的类库,一般是由app/bin里面的程序调 用的。media媒体文件,要添加系统默认的铃声就在这里了。如 果是别的ROM勺话,壁纸也会放在这里面。usr这个文件夹我不知道如何解释,移植时,键盘布局 文件就在这里面xbin扩展命令文件夹,一般不动它,有一些 ROMT能直 妾用busybox来替代了。1. p这个文件也类似于一个配置文件,它主是描述 了这个ROM勺版本,对应的机型名称,还会有 部分的硬件配置,移植的时候我们也会要修改 这个文件。2. boot.img系统核心,其实就是Linux内核部分,这个img 也是可以解开来定制的,但我没有试过。如果你 喜欢新的核心的

5、话,可以将这个文件替换掉,不 过要兼容才行。移植步骤:下载完RO佩后,用解压工具解压到一个目录,先将 odex合并到apk文件中去,这里要用到工具,有两个 工具可以用:xUltimate:83-release-xultimate.html合并的方法比较简单,以xUltimate为例,将app里 面的所有文件拷到origi_app 里面,将framework里 面的所有文件拷到origi_frame 里面,再运行程序, 再过几个选项就可以进行转换了,转换好会放到另一 个文件夹里面,把原来的文件删掉,把生成的放回去 就可以了。如果转换过程中失败了,应该是JAVA的版本低了,升级到最新的JRE试一下

6、。如果用Droid Builder 合并的话,稍微简单一点,选 择ROM勺文件夹,点Deodex就可以进行合并了。删除APP2SD目关的文件,这好像成了传统,从n_i_x 开始移植MIUI开始,一直都这样,我也没试过保留 这个会怎么样。要删除的文件是固定的,大家可以用 下面这个脚本:del bina2sd /s /qdel binapps2sd /s /qdel binapps2sd.hlp /s /qdel binboota2sd /s /qdel binbusybox.a2sd /s /qdel binchka2sd /s /qdel binfixa2sd /s /qdel binjita

7、2sd /s /qdel binlauncha2sd /s /qdel binstarta2sd /s /q del etcinit.d04apps2sd /s /qdel xbina2sd /s /qdel xbinapps2sd /s /q大家要注点的是 APP2S昏日A2SD是两个概念,大家可 以自己去搜一下,如果大家有兴趣,可以研究一下Incredible 的 A2SD和 DATA2SR+这样可以提高 I/O 速度。替换Incredible 专用的文件,一般我们下载的 MIUI RO嘟是Desire或N1的,我们下载了以后,要先把 Incredible 专用的文件替换进去:boot.i

8、mg这个前面介绍过了。这个可以从安智论坛的ROM拿, 也可以自己下载CyanogenMod的Incredible ROM 中 提取。也可以到XDA±面下载新的AOS喉心。bin/vold这个文件是解决内部存储(EMMC的一部分, Incredible 的内存分成了几个分区,前面两个是data和cache,第三个就是EMM0早期的void代码在挂 载一个挂载点的时候,是以磁盘为单位的,而不是以 分区为单位,CM最新的代码解决了这个问题,大家自己编译或从新的ROM!拿就可以了。etc/firmware这整个文件夹都可以替换掉(注点,是 etc下面的firmware )etc/AdieHW

9、CodecSetting.csv这个要加进去,音频解码相关etc/agps_rm这个可以不用加,空文件,不知道有何用。为何险, 可以加一下。etc/AudioBTID.csv音频相关,替换掉etc/gps.confGPS的配置,可以自己去搜一下,了解如何改后,可 以自己动手改一下。etc/TPA2018.csv加进去,不知道何用。etc/vold.fstab分区表,必须替换,解决 EMM曲另一步,之后还有一步lib/hw/lights.inc.so, lib/hw/sensors.inc.so删掉 lights.bravo.so 和 sensors.bravo.so 替换成 这两个。lib/m

10、odules/bcm4329.koWIFI驱动,替换掉。lib/liblog.so打LOG用的,替换掉,不然,出错了,没法查 LOG 不看LOG勺同学可以不用换。usr/keychars/incrediblec-keypad.kcm.bin删掉bravo-keypad.kcm.bin ,替换成这个。这是个二 进制文件,虽然我每次都替换了,但我从LOG分析, 这个文件一直没起到作用,我看了很多 Incredible 的ROM也包括官方的,这个文件一直没变过,真是 奇怪。usr/keylayout/incrediblec-keypad.kl删掉 bravo-keypad.kl ,替换成这个。这个是

11、 Incredible 的键盘布局配置。到此为止,简单的工作都做完了。下面要开始修改文 件了。修改刷机唧本这个比较简单,一般只要修改前面几行,把条件改一 下,再加一段欢迎词,请对照我提供的文件进行修改。修改 p请对照我提供的文件进行修改,请注意一下,里面所有ro.cdma的都是需要的,有一彳亍:ro.cdma.home.operator.alpha=中 国 电信有些编辑器可能会显示成乱码,如果不行,用记事本 修改好了。还有内部存储相关的两条配置也别忘了 :ro.phone_storage = 1ro.additionalmounts=/mnt/emmc做完了以上的步骤,Inc

12、redible 的移植算完成了大部 分了,已经可以做成刷机包试一下了,但还有几个问 题没有解决:内部存储EMMCS:持还差一步通知栏上面不会显示中国电信,还会显示漫游图标图库和音乐播放器不支持内部存储这几个问题不能光靠替换文件来完成,需要多做一些 事情。我们要使用几个工具来帮助我们来解决这几个 问题。解决内部存储I可题前面说过,MIUI基于早期的CM MountService这个类不支持Incredible 的内部存储,我们要替换成 CM 的MountService代码,因为代码都已经编译了,所 以,我们要先进彳亍反编译。要用到 baksmali工具, 可以用我附件提供的工具包中的脚本。先用解

13、压工具打开 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开头的文件,拷贝并替换se

14、rvices.miui里面相应的文件完成替换后,将services.miui 拖动到"打包dex.bat"上面, 会生成一个 out.dex 的文件将 out.dex 重命名成 classes.dex,直接替换 framework/services.jar 里 面的文件就可以了,不用重新签名这样, MountService的替换就完成了一个问题需要说明一下,一定要用我的ROM里面的services.jar ,不能用CM勺。我基于CM的代码做了 一点修改,解决内部存储挂载的时候主界面 FC的问 题,具体的改动,改天我再写一往篇来说明吧,其实, 一共就改三行代码。解决漫游图标的

15、问题这个问题比较好解决,用解压工具打开我的ROhM面的 framework/framework-res.apk , 找至 Ures/xml/eri.xml 文件,替换掉MIUI里面的就可以了。 也不用重新签名。eri.xml文件是经过加密的。原文 是:< ?xml version="1.0" encoding="UTF-8"?>< EriFileVersionNumber="1357”NumberOfEriEntries="1" EriFileType="1”>< CallPrompt

16、IdId="0"CallPromptText="CallPromptId0" />< CallPromptIdId="1"CallPromptText="CallPromptId1" />< CallPromptIdId="2"CallPromptText="CallPromptId2” />< EriInfo RoamingIndicator="128" IconIndex="1” IconMode="0" EriText=" 中 国 电信" CallPromptId="0" AlertId="0" />< /EriFile>解决图库和音乐对内部存储的支持跟解决 MountService 的方法类似,要替换app/MediaProvider.apk里 面 的MediaScannerReceiver 和 MediaScannerService 开头 的文件,这个可以用我或者是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论