好文档 - 专业文书写作范文服务资料分享网站

miui简单移植

天下 分享 时间: 加入收藏 我要投稿 点赞

关于miui移植,水村发过一个教程,本贴讲述的方法与他大同小异。大家可以比较一下。

首先介绍制作rom的环境我使用的工具:

1.制作环境

必须要有一个Linux操作系统,我用的是ubuntu ,JDK6,当然如果你能建立一个完整的编译Android系统的环境更好,如何建立这样的系统,网上有很多文章,这里就不多讲了。可以在物理硬盘分区上安装Linux,也可以向我一样在VirualBox虚拟机上安装。 2.厨房

dsixda_Android_Kitchen

虽然它只是个在终端下由脚本驱动的程序集,但对我们提高制作rom的效率作用是巨大的,向XDA的大侠dsixda致敬!

完全掌握这个厨房的使用方法,需要写一篇单独的教程,本贴只针对移植所需的相关方法作出说明。 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),厨房自动打包工作目录然后签名并把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文件,需要你输入s(自定义签名文件)。 4)处理

此厨房一个非常强大的功能,你可以更换核心,修改init进程配置文件。

在(ADVANCED OPTIONS)屏输入20(Unpack or re-pack a )->输入w(Extract kernel and ramdisk from in working folder)厨房将解包到目录BOOT-EXTRACTED,其中文件为android的Linux核心,你可以用其他的核心文件替换它,可以编辑这些文件,但不能改名。完成后输入b(Build from BOOT-EXTRACTED folder (for working folder)),

重新打包创建新的文件并自动替换掉工作目录下的旧文件。

提示:如果更换了核心,还需要更换system/lib/modules/*为相应的文件!

3.编译和反编译

要用到两个工具,smali和baksmali,来自开源项目smali,创建者是Jesus

Freke(勘误),这两个工具可以在厨房/tools/deodex_files目录下找到。

命令:java -Xmx512M -jar -o classes/ 反编译到当前classes目录

命令:java -Xmx512M -jar -o classes/ 编译目录classes为

4.编译和反编译资源文件

apktool,来自开源项目android-apktool,项目的创建者非常厉害,他创建这个项目时还在读大学,他还破解了谷歌地图的限制。

每一个apk几乎都会有自己的资源文件,android还有一个系统资源文件framework/,其他经过深度定制的系统可能还会有其他系统资源文件,例如HTC(),miui只有一个。

工具apktool可将apk中的二进制资源反编译为可读的图片(*.)或文本(*.xml),也可以反编译,我一般不用他的编译代码。

例子:

apktool d */反编译文件并创建到framewrok-res目录 apktool b framework-res */编译framework-res目录到 apktool -help */获得工具使用帮助

提示:apktool反编译时,会在某些目录加上\后缀,重新编译前一定要删除这个后缀。 开始移植

移植采用的基本rom包是miui官方发布的desire机型的完整包,移植用到的inc文件我用的是 for incredible,下面对需要修改的内容作逐个说明: 1.内核

system/lib/modules/*

如果你用厨房解包,替换其中的Linux核心,还需要修改目录中相关的.rc文件;初学者可以从我的移植版中直接提取替换。之后再更换核心只需要替换文件就行了。

2.固件和配置文件 替换下列文件:

system/lib/hw/* system/etc/firmware/* system/etc/ system/etc/

system/etc/event-log-tags system/etc/ system/etc/

system/lib/(logcat才能正常输出)

删除system/etc/04apps2sd(必须关闭自带的app2sd功能,它与inc不兼容,否则无法进系统)

添加system/etc/permissions/和这两个简单的文件却能影响多点触控功能)

添加system/etc/permissions/(似乎可有可无)

替换user/keychars和user/keylayout两个目录下bravo-*为incrediblec-*文件(键盘相关) 添加system/etc/98miuifixes 98miuifixes脚本内容:

************************************************************************* #!/system/bin/sh #

# Fixes for MIUI on HTC Incredible

miui简单移植

关于miui移植,水村发过一个教程,本贴讲述的方法与他大同小异。大家可以比较一下。首先介绍制作rom的环境我使用的工具:1.制作环境必须要有一个Linux操作系统,我用的是ubuntu,JDK6,当然如果你能建立一个完整的编译Android系统的环境更好,如何建立这样的系统,网上有很多文章,这里就不多讲了。可以在物理硬盘分区上安装Linu
推荐度:
点击下载文档文档为doc格式
72j982ox9y5kaxd91bwp423gj8gje700kzi
领取福利

微信扫码领取福利

微信扫码分享