ImageVerifierCode 换一换
格式:DOCX , 页数:4 ,大小:17.93KB ,
资源ID:4000645      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4000645.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(miui简单移植.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

miui简单移植.docx

1、miui简单移植关于miui移植,水村发过一个教程,本贴讲述的方法与他大同小异。大家可以比较一下。首先介绍制作rom的环境我使用的工具:1.制作环境必须要有一个Linux操作系统,我用的是ubuntu 10.4,JDK6,当然如果你能建立一个完整的编译Android系统的环境更好,如何建立这样的系统,网上有很多文章,这里就不多讲了。可以在物理硬盘分区上安装Linux,也可以向我一样在VirualBox虚拟机上安装。2.厨房dsixda_Android_Kitchen虽然它只是个在终端下由脚本驱动的程序集,但对我们提高制作rom的效率作用是巨大的,向XDA的大侠dsixda致敬!完全掌握这个厨房

2、的使用方法,需要写一篇单独的教程,本贴只针对移植所需的相关方法作出说明。1)解包和打包解包:把要打磨的rom包放到original_update目录中,rom包的类型一般是zip压缩包,也可以是img镜像文件;运行厨房(menu脚本),输入1(Set up working folder from ROM),根据提示选择你要解包的那个文件号,厨房解包并创建工作目录(WORKING_xxx),如果已存在一个WORKING_xxx的工作目录,厨房会自动把它移到到OLD_WORKING目录中。打包:输入99(Build ROM from working folder),厨房自动打包工作目录然后签名并把

3、rom文件放到OUTPUT_ZIP目录中。2)deodex官方发布的rom一般都会把apk中的dex文件抽出并优化修改为同名的odex文件,为了修改它们,需要将这些odex文件打回到各自的apk文件中,在厨房中输入0(ADVANCED OPTIONS)-11(Deodex files in your ROM),厨房自动搜索工作目录下所有odex文件,根据提示输入即可。3)文件签名在(ADVANCED OPTIONS)屏输入21(Sign APK file(s)),厨房搜索工作目录下所有apk文件,根据提示输入,这里要注意,无论你选择哪一项,厨房都不会自动签名framework目录下的apk文件

4、,需要你输入s(自定义签名文件)。4)处理boot.img此厨房一个非常强大的功能,你可以更换核心,修改init进程配置文件。在(ADVANCED OPTIONS)屏输入20(Unpack or re-pack a boot.img)-输入w(Extract kernel and ramdisk from boot.img in working folder)厨房将boot.img解包到目录BOOT-EXTRACTED,其中文件boot.img-kernel为android的Linux核心,你可以用其他的核心文件替换它,可以编辑这些文件,但不能改名。完成后输入b(Build boot.img

5、from BOOT-EXTRACTED folder (for working folder)),重新打包创建新的boot.img文件并自动替换掉工作目录下的旧文件。提示:如果更换了核心,还需要更换system/lib/modules/*为相应的文件!3.编译和反编译classes.dex要用到两个工具,smali和baksmali,来自开源项目smali,创建者是Jesus Freke(勘误),这两个工具可以在厨房/tools/deodex_files目录下找到。命令:java -Xmx512M -jar baksmali.jar -o classes/ classes.dex反编译clas

6、ses.dex到当前classes目录命令:java -Xmx512M -jar smali.jar -o classes.dex classes/编译目录classes为classes.dex4.编译和反编译资源文件apktool,来自开源项目android-apktool,项目的创建者Brut.alll非常厉害,他创建这个项目时还在读大学,他还破解了谷歌地图的限制。每一个apk几乎都会有自己的资源文件,android还有一个系统资源文件framework/framework-res.apk,其他经过深度定制的系统可能还会有其他系统资源文件,例如HTC(com.htc.resources.a

7、pk),miui只有一个。工具apktool可将apk中的二进制资源反编译为可读的图片(*.9.png)或文本(*.xml),也可以反编译classess.dex,我一般不用他的编译代码。例子:apktool d framework-res.apk */反编译文件并创建到framewrok-res目录apktool b framework-res framewrok-res.apk */编译framework-res目录到framework-res.apkapktool -help*/获得工具使用帮助提示:apktool反编译时,会在某些目录加上-v4后缀,重新编译前一定要删除这个后缀。开始移

8、植移植采用的基本rom包是miui官方发布的desire机型的完整包,移植用到的inc文件我用的是cm6.1 for incredible,下面对需要修改的内容作逐个说明:1.内核boot.imgsystem/lib/modules/*如果你用厨房解包boot.img,替换其中的Linux核心,还需要修改boot.img-ramdisk目录中相关的.rc文件;初学者可以从我的移植版中直接提取boot.img替换。之后再更换核心只需要替换boot.img-kernel文件就行了。2.固件和配置文件替换下列文件:system/lib/hw/*system/etc/firmware/*system/

9、etc/AdieHWCodecSetting.csvsystem/etc/TPA2018.csvsystem/etc/event-log-tagssystem/etc/WPDB.zipsystem/etc/AudioBTID.csvsystem/lib/liblog.so(logcat才能正常输出)删除system/etc/init.d/04apps2sd(必须关闭自带的app2sd功能,它与inc不兼容,否则无法进系统)添加system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml和android.h

10、ardware.touchscreen.xml(这两个简单的文件却能影响多点触控功能)添加system/etc/permissions/android.hardware.telephony.cdma.xml(似乎可有可无)替换user/keychars和user/keylayout两个目录下bravo-*为incrediblec-*文件(键盘相关)添加system/etc/init.d/98miuifixes98miuifixes脚本内容:*#!/system/bin/sh# Fixes for MIUI on HTC Incredible# Author: n_i_x ()# # More

11、info:# # Fix to prevent Settings FC. Settings requires apps2SD which we removed/system/bin/logwrapper /system/xbin/ln -s /mnt/sdcard /data/sd*上面的脚本中,添加一个目录连接sdcard-/data/sd,仍然是为了修补app2sd问题,否则点设置-SD卡会FC,由最早建立miui for incredible移植版本的n_i_x创建。还有一些文件可以删除,它们已经没用了:system/bin目录下app2sd相关脚本和程序,system/app/stk.

12、apk(sim卡管理),systme/media/recovery.img(与inc不兼容,必须删除),system/etc/vold.conf(android2.2中完全无用的东西)3.去除漫游标志编辑system/framework/framework-res.apk在res/xml/eri.xml文件中插入下列行:* *去除漫游标记的同时可显示运营商。4.内部存储替换system/bin/vold在system/etc/vold.fstab文件里添加下列行:*dev_mount emmc /mnt/emmc 3 /devices/platform/msm_sdcc.3/mmc_host/

13、mmc2*解压system/framework/services.jar,反编译classes.dex文件,替换com/android/server/目录下所有Mount*的代码文件,我对cm6.1的代码没有做任何修改;重新编译为classes.dex文件,替换掉services.jar包内的原始dex文件。让vold正确识别并自动挂载inc的内部存储。解压system/app/MediaProvider.apk,反编译classes.dex文件,替换掉com/android/providers/media/目录下所有MediaScanner*代码文件,重新编译为classes.dex,替换M

14、ediaProvider.apk中的原始dex文件,让媒体库扫描内部存储。5.android初始化文件和刷机脚本修改system/build.prop将所有bravo变量修改为incro.telephony.default_network=0(gsm)修改为ro.telephony.default_network=4(cdma)其他修改请参照cm6.1或我的移植版。修改META-INF/com/google/android/updater-scriptassert(getprop(ro.product.device) = bravo | getprop(ro.build.product) =

15、bravo);以上修改为assert(getprop(ro.product.device) = inc | getprop(ro.build.product) = inc | getprop(ro.product.board) = inc);至此,全部移植工作就做完了,打包-签名-刷机!祝你好运,哈哈。上述方法并非是一成不变的,随着miui版本演进,某些方法可能就会失效,但目前这些方法仍然是有效的。实际上,还有一项重要的功能没有被移植:格式化SD卡!这个就交给新大侠们来完成吧。本文涉及到的工具请自行到我链接的地址下载,不再另外提供!(学习的目的是增长知识,提高能力,相信一分耕耘一分收获,努力就一定可以获得应有的回报)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1