安卓rom移植教程_第1页
安卓rom移植教程_第2页
安卓rom移植教程_第3页
安卓rom移植教程_第4页
安卓rom移植教程_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、安卓rom移植教程前言:因为很多机友都想自己移植rom,苦于找不到教程,所以我今天抛砖引玉啦,为了大白,为了我们玩机一族,我慢慢将这段时间移植的经验分享一下,估计一天写不完,那就分几篇写啦,有兴趣的朋友可以留意一下,不想花时间移植的机友就飘过啦!另外我移植的经验都是基于安卓4.0的,我只保证安卓4.0可以通过此方法顺利快速移植一个rom,那么想移植安卓2.3或者移植安卓4.1的朋友就另外请教高手啦。一、找相近机型找相近机型主要是为我们移植rom节省功夫,因为相近机型的rom大部分驱动都是相同的,比如和我们大白g21相近的机型有g10、g11、g12,我推荐大家找g11的rom,为什么?因为g1

2、1与我们大白g21的硬件配置最相似,比如cpu是同型号的,分辨率也是一样的,连摄像头像素都一样,所以为我们大白g21移植rom,找g11机型的rom是首选。二、移植boot.img移植安卓rom首先要移植boot.img,这里我只说一下要重点修改boot.img里面的内容,此外怎么解包和打包boot.img就不在这里谈及了,网上有很多教程,多用搜索功能。我推荐用厨房软件解包boot.img,解包boot.img后有boot-extracted文件夹,boot-extracted文件夹里面有boot.img-ramdisk文件夹和zimage内核,我们找到boot.img-ramdisk文件夹里

3、面的init.rc文件,移植boot.img全部就在init.rc文件,init.rc文件我理解就是一个启动文件,我们开机后通过init.rc文件启动系统。好,现在我们用文本编辑打开init.rc文件,找到export bootclasspath这一项,这一项后面就是启动系统的相关项目,不同机型不同系统这一项启动内容都不一样,那么我们怎么修改这个呢?很简单,比如我们解包g11的sense4的rom,找到g11的内核boot.img,然后解包g11的boot.img,找到init.rc文件,然后用文本打开将export bootclasspath这一项后面的内容全部复制,然后再到我们g21的in

4、it.rc,把export bootclasspath这一项的内容复制上去,简单的说就是将g11的启动内容复制到g21的启动内容上,到这里,boot.img的移植就完成了,最后将我们g21的boot.img打包回来。2012-10-13 22:35 上传下载附件 (241.97 kb)将g11的启动项复制到g21的启动项里,修改完打包boot.img就可以了!本帖隐藏的内容三、修改rom包刷机脚本我们知道recovery刷机包都是zip格式的,所以我们完全可以解压修改后再打包回来,完全没有问题。比如我们下载g11的一个miui的官方rom,解包后里面有meta-inf文件夹,有system系统

5、文件夹,有boot.img内核文件,我们只要修改meta-inf文件夹,meta-inf里面都是刷机脚本文件,操作如下:meta-infcert.rsa 签名文件 删掉meta-infcert.sf 签名文件 删掉meta-infmanifest.mf 签名文件 删掉meta-infcomandroid 机型验证文件夹 整个删掉meta-infcomgoogleandroid update-binary 刷机命令程序 保留meta-infcomgoogleandroid updater-script 刷机脚本 需要修改修改updater-script如下:用文本打开updater-script

6、,删除以下两行机型验证assert(getprop(duct.device)= vivo | getprop(duct) = vivo);将 mount(ext4,emmc, /dev/block/mmcblk0p26, /data);改为mount(ext4, emmc, /dev/block/mmcblk0p29,/data);修改好保存updater-script四、替换boot.img将修改好的g21的boot.img(不会修改boot的机油就用我的最终版里面的boot.img)替换到g11的一个miui的官方rom里面 五、重新打包g11的一个mi

7、ui的官方rom为zip格式,然后拿去刷机吧,按照上面过程操作,这个rom完全可以开机进入系统的。 让我们回顾今天的移植要点,第一找相近机型的rom,第二移植boot.img,第三修改rom包里面的刷机脚本,第四替换boot.img,第五打包rom后刷机,成功进入系统,初步移植教程结束。 没错,纯粹是替换了boot.img就完成了移植,这么简单我们大白就可以用到小米系统了,看似很复杂的移植,却如此简单,这都要归功于我们大白有相近机型g11,因为它们大部分驱动都是通用的。 今晚就到此为止,下次我就着重讲一下接下来怎么把bug一个个修复,因为简单替换boot.img,虽然可以进入系统,但是由于驱动

8、或配置不同,还是存在很多bug的,比如开机后不能识别内存卡,usb不能挂载内存卡,wifi不能用,wifi热点不能用,gps不能用,重力感应不能用,声音有问题等等,没关系,等肥虫第二篇教程慢慢告诉你们,慢慢将以上bug一个个攻破,享受移植的快乐,我们下次见!第二篇-移植miui移植前准备1、首先推荐大家用一个文件对比软件bcompare,自行到网上下载,用bcompare进行对比非常方便。2、选择一个合适的g21官方4.0的rom,最好是原汁原味的官方rom,没有太多的优化或精简,已经做好odex合并,选择这样的rom目的是考虑到稳定,这样有利于我们进行移植。移植前先介绍一下rom包的简单结构

9、:我们最常用的一种刷机方法就是通过recovery刷机,recovery刷机rom就是zip格式的压缩包,里面结构如下:meta-inf刷机脚本,recovery刷机时通过里面的脚本命令刷机system安卓系统,移植时就是改动里面的文件systemapp这个里面主要存放的是常规下载的应用程序,可以看到都是以apk格式结尾的文件systembin这个目录下的文件都是系统的本地程序,里面主要是linux系统自带的组件(命令)systemetc从文件夹名称来看保存的都是系统的配置文件,比如apn接入点设置等核心配置systemfonts字体文件夹systemframeworkframework主要是

10、一些核心的文件,从后缀名为jar可以看出是是系统平台框架systemliblib目录中存放的主要是系统底层库,一些so文件,如平台运行时库systemmediasystemmediaaudio铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音systemsounds默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件systemusr用户文件夹,包含共享、键盘布局、时间区域文件等以上大概说了rom包里面各文件夹的功能,现在我们把目光投向其中三个文件夹,这三个文件夹分别是:systembinsystemetcsystemlib我们移植rom主要修改的就是以上三个文件夹,除了这

11、三个文件夹外其它文件夹基本不用动现在我们以移植miui的rom为例子1、我们先到miui的官方网站下载一个g11现成的miui_v4 刷机包,把它命名为miui_incredibles_2.10.12.zip2、准备一个g21的官方4.0刷机包,命名为g21_stockrom.zip3、分别把以上两个rom包解压到同一个文件夹里面,然后打开bcompare对比软件,把解压后得到的miui_incredibles_2.10.12和g21_stockrom文件夹拉到bcompare进行比对,请把g21_stockrom放到左侧,把miui_incredibles_2.10.12放到右侧2012-1

12、0-14 22:49 上传下载附件 (257.84 kb)第一步,设置对比规则(点击工具栏戴黑帽的小人),设置比较,见下图2012-10-14 22:49 上传下载附件 (139.88 kb)设置好后点击确定第二步,显示设置为显示左侧孤立项,见下图2012-10-14 22:49 上传下载附件 (138.89 kb)第三步,点击中间打开system进行对比,这时左侧显示出来的文件都是g21_stockrom的孤立文件,我们需要把bin、etc、lib三个文件夹的孤立文件复制到右侧,见下图2012-10-14 22:49 上传下载附件 (245.34 kb)接着,我们把显示设置成显示差异项但不包

13、括孤立项,见下图2012-10-14 22:49 上传下载附件 (140.16 kb)接着,我们需要把etc整个文件夹复制到右侧,bin和lib两个文件夹不用动,见下图2012-10-14 22:49 上传下载附件 (329.47 kb)好了,到这里可以关闭bcompare对比软件了。接着,我们将要手动把关键特定的g21的驱动复制到miui_incredibles_2.10.12文件夹里面要复制的特定驱动文件如下:systembinnetd wifi热点有关systembinvold usb挂载内存卡systembinwpa_supplicant wifi有关systemetcvold.fst

14、ab 我们常说的内存卡分区文件systemlibhwgps.runnymede.so gps驱动systemlibhwhwcomposer.msm7x30.so 驱动相关,不替换会出现卡顿systemlibhwsensors.runnymede.so 感应驱动systemlibmodulesbcmdhd.ko wifi驱动systemlibmoduleskineto_gan.ko wifi驱动systemliblibhardware_legacy.so wifi驱动相关以上特定驱动原则上都是从我们g21官方rom里面提取就可以,但是实际上会出现其他问题,此过程我已经尝试过无数遍,自己找到最合适

15、的了,为了方便机友节省时间,我将以上特定驱动打包传上来,分享给大家了,不用大家到处找和不停调试。本帖隐藏的内容g21特定驱动.zip(753.06 kb, 下载次数: 285)2012-10-14 23:16 上传下载次数: 285g21特定驱动下载积分: 汉堡 -1 个接着,要删除miui_incredibles_2.10.12文件夹的多余驱动,多余文件如下:systemlibhwgps.vivo.sosystemlibhwsensors.vivo.sosystemlibmodulesbcm4329.ko接着,修改miui_incredibles_2.10.12文件夹里的p

16、文件,用文本编辑打开,参照以下我提供的修改:duct.model=htc sensation xl with beats audio x315duct.model=htc sensation xl with beats audio x315=htc_duct.device=duct.board=duct=cessor=1.5ghduct.ram=768mbduct.display_resolution=4.7 inch wvga duct.main_camera=8mduct.front_camera=1.3mduct.b

温馨提示

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

评论

0/150

提交评论