




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I897 Odin通用刷机教程刷机有两种:线刷和卡刷。所谓的“线刷”就是在手机Download模式(俗称为“挖煤”)下用Odin刷机程序刷机。而“卡刷”就是在手机的Recovery模式下刷机。在这一讲里,我来介绍如何用Odin刷机。1. 刷机包ROM简介现在论坛里ROM很多,看上去好像五花八门,新手一下子搞不清楚水有多深。总结起来,刷ROM可以归纳为以下4种。加上刷内核或基带,一共也就是5种情况。掌握了这些之后,你就可以灵活刷机了。万变不离其中。在你刷机时,请检查一下,看你的ROM是属于哪一类?对号入座,你就不会搞错,你就知道从哪里下手了。2. 准备工作1) 下载ROM刷机包2) 准备好刷机程序Odin3(推荐使用Odin3 V1.81中文版,谢谢机友jdx0616提供刷机程序)3) 了解如何进“挖煤”刷机模式(/android-1405196-1-1.html)4) 刷机前把你的数据备份好,电池充好电。3. 刷第一类ROM方法下面,我以刷“I897 2.3.4 XXJVP ROM中文版” JVP-SunnyOK-CN.tar为例来详细描述用Odin刷机过程和步骤。有了刷第一类ROM的基础,然后来讲解如何刷第二、第三和第四类ROM,让你全面掌握刷机技能。第一步:解压刷机包到计算机。先下载我定制2.3.4 ROM的刷机包JVP_SunnyOK-Cn.rar(地址:/file/dnswmjjz)解压后,里面有三个文件:分区文件:s1_odin_20100512.pitROM文件: JVP-SunnyOK-CN.tar刷机程序: Odin3 V1.81中文版第二步:手机进入挖煤利用你熟悉的一种方法(/android-1405196-1-1.html),进入“挖煤”模式,界面如下:机器人拿着铲子在“挖煤”。这就是刷机状态。表示手机已经就绪,可以接受刷机。第三步:用数据线将手机连接计算机用USB数据线把手机连接到计算机上。这一步没什么好解释的。第四步:打开Odin刷机程序打开Odin3刷机程序后,你会看到下列刷机界面(Odin3 V1.81)。从第一到第三排,都有8个格子,可以同时刷8台机子。你通常只会用的左边第一列而已,因为你只刷一台手机。进入挖煤状态和数据线连好后,“端口”区ID:COM背景变为黄色,里面的数字是串行口号码。“自动重启”和“重设时间”被默认勾上。在“信息”窗口,会显示Added!!这些表示一切正常。第五步:输入刷机文件按PIT按钮,输入PIT文件:s1_odin_20100512.pit按PDA按钮,输入ROM文件:JVP-SunnyOK-CN.tar见下面截图。注意:1) 勾上“重新分区”(Re-Partition)2) 勾上“自动重启”(Auto Reboot)3) 勾上“重设时间”(F. Reset Time)在PDA按钮前的勾会自动勾上。检查一下,一定要勾上。第六步:开始刷机按Start按钮开始刷机。刷机界面变成下面这个样子。在左上角第一个格子内动态显示当前正在刷入的文件。第二行的绿色是进度条。相应地,你会在手机上看到蓝色的进度条。在信息窗口,显示刷机进度和当前刷机状态。界面上的所有控制都变为灰色,不允许你再做任何修改。刷机正在进行,千万不要拔掉数据线,以免刷机失败和造成不良后果!刷机过程需要几分钟,请耐心等待!第七步:刷机结束。手机自动重启。经过几分钟的等待,文件安装结束,在左上角第一排的格子变蓝色,显示RESET,时间很短。之后,你会看到下列刷机界面,表示刷机成功结束。左上角的格子变成绿色背底,里面的字是PASS,表示刷机通过。进度条完全变成绿色,里面的数字是刷机所用掉的时间。在信息窗口内显示了所有输入的文件和刷入次序。最后一行是Removed !这时可以拔掉数据线了。手机会自动重启。然后就欣赏你的刷机结果吧!经过以上7步,你已经成功地用Odin3刷机了。是不是很简单?3. 刷第二、三、四类ROM方法你在上一节已经会刷第一类ROM了。刷第二类ROM的方法与刷第一类ROM完全相同。还是7步刷机过程,只是第五步有点差别,需要注意。第一步:解压ROM 到计算机。方法同上。第二步:手机进入挖煤同上第三步:用数据线将手机连接计算机同上第四步:打开Odin刷机程序同上第五步:输入刷机文件a) 对于第二类ROM按PDA按钮,输入ROM文件:注意:1) 勾上“自动重启”(Auto Reboot)2) 勾上“重设时间”(F. Reset Time)在PDA按钮前的勾会自动勾上。检查一下,一定要勾上。不要勾“重新分区”(Re-Partition),因为没有分区文件要刷!见下面截图。b) 对于第三类ROM按PIT按钮,输入PIT文件:s1_odin_20100512.pit按PDA按钮,输入PDA文件按PHONE按钮,输入PHONE文件按CSC按钮,输入CSC文件注意:1) 勾上“重新分区”(Re-Partition)2) 勾上“自动重启”(Auto Reboot)3) 勾上“重设时间”(F. Reset Time)c) 对于第第四类ROM按PDA按钮,输入PDA文件按PHONE按钮,输入PHONE文件按CSC按钮,输入CSC文件注意:1) 勾上“自动重启”(Auto Reboot)2) 勾上“重设时间”(F. Reset Time第六步:开始刷机同上第七步:刷机结束。手机自动重启。同上4. 刷内核或基带方法刷内核和基带的步骤与刷第二类ROM的步骤没有什么差别。唯一注意点就是输入刷机文件的位置。刷内核:在PDA处输入内核文件。在PDA按钮前的勾会自动勾上。检查一下,一定要勾上。刷基带:在PHONE处输入基带文件。在PHONE按钮前的勾会自动勾上。检查一下,一定要勾上。注意:1) 勾上“自动重启”(Auto Reboot)2) 勾上“重设时间”(F. Reset Time)不要勾“重新分区”(Re-Partition),因为没有分区文件要刷!I897卡刷或CWM刷机教程在【第一讲】开头说过,刷机有两种:线刷和卡刷。所谓的“线刷”就是在手机Download模式(俗称为“挖煤”)下用Odin刷机程序刷机。而“卡刷”就是在手机的Recovery(恢复)模式下刷机。在这一讲里,我来介绍第二种刷机方法:“卡刷”或称为CWM刷机。论坛中关于“卡刷”的刷机教程比较少,多半都是在刷某个具体的ROM里给出。可能大家认为“卡刷”的刷机方法比较简单,不值得写一个专门的教程。其实对新手来说还是必要的,写一个详细教程,供机友参考。“卡刷”或CWM刷机:用手机里安装的ClockworkMod程序来在Recovery模式下进行刷机。刷机包为单个签名的zip压缩包。在刷机包中有一个脚本,里面有一系列命令,规定好把不同的文件复制的手机的指定分区,从而达到刷机目的。通常认为,卡刷比较安全,只涉及单个刷机文件,适合于新手刷机。ROM发布者通常发布ROM补丁来升级ROM。所以,掌握卡刷很有必要,使你能及时更新和欣赏ROM的新功能。同时,卡刷和线刷两种手段技术互补。卡刷在下列情况下使用:1)手机里已经安装了ClockworkMod程序2)手机可以进入Recovery模式3)当然,你的刷机包是zip卡刷包卡刷可以用于下列刷机情况:1)刷完整ROM2)刷ROM的补丁或升级包3)刷内核或基带4)刷特殊内容为叙述方便,以下把上述各种要刷的内容统称为“刷机包”。下面以刷2.3.4 XXJVP汉化版为例来描述刷机过程和步骤。刷机包文件名为“JVP2.3.4_SunnyOK_CN-2.zip”。刷机步骤:1. 把刷机包拷贝到手机SD卡将手机用USB数据线连接电脑,在“设置”-“USB设置”里选“大容量存储”。连接成功后,将刷机包JVP2.3.4_SunnyOK_CN-2.zip拷贝到SD卡的根目录下。之后,从手机移除USB数据线。如果手机有内卡(sdcard),直接把刷机包拷贝到内卡。I897有13G的内卡供使用。当然,你也可以使用外卡。2. 手机进入Recovery(恢复)模式有多种方法进入Recovery模式:1)关机,按“音量上+下”和“电源开关”,屏幕点亮后松开按键,进入“恢复”模式。2)用ADB命令: 在计算机上安装ADB工具包(见附件ADB-Tools.rar) 手机开机,到“设置”-“应用程序”-“开发”选“USB调试” 将手机用USB数据线连接电脑 在DOS窗口打入:adb reboot recovery 进入Recovery(恢复)模式 取下USB数据线3)有些ROM里已经提供进入Recovery的功能。例如Li大的ROM里提供了“重启工具”应用。还有的ROM在主题文件的“关机”菜单里加了Recovery的选项。还有的ROM在“高级设置”里有Recovery操作的选项。4)其它进Recovery模式方法3. 刷机1)进入Recovery模式后,你会看到下面界面:用音量上下键选取“install zip from sdcard”。见红色方框。然后按电源键确认。2)进入下一个界面:用音量上下键选取“choose zip from sdcard”。见红色方框。然后按电源键确认。3)进入下一个界面:在这个界面里,你可以看到你SD卡上根目录下的所有目录和文件。注意:在第一步里我们已经把刷机包文件JVP2.3.4_SunnyOK_CN-2.zip拷贝到了SD卡的根目录。所以,你现在应该看到这个文件名。见红色方框部分。用音量上下键选取“JVP2.3.4_SunnyOK_CN-2.zip”。见红色方框。然后按电源键确认。4)进入下一个界面:用音量上下键选取“Yes Install JVP2.3.4_SunnyOK_CN-2.zip”来确认刷这个文件。见红色方框。然后按电源键确认。5)进入下一个界面。刷机开始。你会看到下列刷机进度信息和绿色进度条。6)需要大约一分钟时间,刷机结束,又回到Recovery模式。在屏幕下半部显示下列图像。你会看到刷机结束通知:“Install from sdcard complete.”,告诉你:从SD卡的安装结束了。在屏幕的上半部出现下列信息。这与前面的第二个界面相同。现在要选取“+Go Back+”回到上一个(第一个)Recovery界面。按电源键确认。7)进入主界面。这时你可以来wipe了。用音量上下键选取“wipe data/factory reset”来清除用户数据,按电源键确认。用音量上下键选取“wipe cache partition”来清除缓存分区数据,按电源键确认。8)最后用音量上下键选取“reboot system now”重启手机。9)刷机结束。APK应用程序的解包、修改、编辑、汉化、打包及应用前两讲主要讲玩机的最基本的知识,集中在如何刷机。本讲是进级的内容,来谈谈与apk应用程序有关的知识,内容包括akp文件的解包、打包、反编辑、解析、汉化、修改等内容,也介绍几个常用的软件。最后要介绍对apk操作有哪些应用,学会了能干些什么。这些内容实际上构成了一个很大的课题,用简短的文字无法描述清楚。我准备用三个部分来介绍如下内容: 第一部分:apk应用介绍,解包和打包,常用软件工具 第二部分:三星闭源系统apk文件的处理,汉化和签名 第三部分:介绍apk文件打包解包的各种应用第一部分是基础知识,第二部分进入实战修改apk应用程序,最后在第三部分来介绍APK应用程序的修改和编辑的各种各样实际应用。-第一部分:apk应用介绍,解包和打包,常用软件相信每为机友对APK文件都不陌生。你可能每天都与APK文件打交道,无论是安装和卸载有用的应用工具、插件、好玩的游戏等等。尤其是最近关于2.3.4 XXJVP ROM的汉化,更成为论坛里的热门话题。你们可曾知道ROM是怎样汉化的吗?说来容易做来难。这里要涉及很广泛的知识、手段,以及要花大量的时间。1. APK文件简介APK是Android Package的缩写,即Android application package文件或Android安装包。每个要安装到Android平台的应用都要被编译打包为一个单独的文件,扩展名为 .apk。APK文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。通过将APK文件直接传到Android手机中执行即可安装。APK文件其实就是zip格式,但其扩展名被改为apk,在Windows下用解压软件WinRAR/WinZIP/7-Zip可以直接打开。解压后,你会看到有几个文件和文件夹。一个典型的APK文件通常有下列内容组成: AndroidManifest.xml程序全局配置文件 classes.dex Dalvik字节码 resources.arsc 编译后的二进制资源文件 META-INF 该目录下存放的是签名信息 res 该目录存放资源文件 assets 该目录可以存放一些配置文件下面对这些文件和目录做些基本的注释和介绍: AndroidManifest.xml 该文件是每个apk应用程序都必须包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。 classes.dex文件 classes.dex是java源码编译后生成的java字节码文件。dex是Dalvik VM executes的全称,即Android Dalvik执行程序。利用解析工具可以将其转换成java来加以阅读和理解。 resources.arsc 编译后的二进制资源文件。在做主题美化时要常与这个文件打交道。 META-INF目录 META-INF目录下存放的是签名信息,有三个签名文件,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。 res目录 res目录存放资源文件。包括图片,字符串等等。res下有若干个子目录,主要为drawable,layout,xml。解包后,几乎所有可能的修改和编辑工作基本都在这里。汉化ROM的主要工作就在这里。汉化ROM实际上就是汉化所有的apk应用程序的字符文件。 assets目录 assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。下面以“设置”应用程序Settings.apk为例。用WinRAR打开文件后,看到以上介绍的六项内容。现在,即使你已经对文件解压,你还是无法直接阅读每个文件的内容。为了读出这些文件的内容,从而进行进一步的修改和编辑,你就必须具有相应的工具了(请到第二节)。2. APK应用程序的解包和打包工具这一节主要介绍在Windows系统中常用的几个工具包,用来对apk应用程序进行解包、打包、反编译、解析。所有apk工具包都要求java环境(这个我就不介绍了,自己学习去吧)。这些工具可以从网上各个论坛获取。我在近一个月里收集了几个常用的工具包,我会打包上传与有志于对apk进行操作的机友分享。主要推荐有三个工具包。1) apktoolapktool可能是当今最为流行的apk工具包,由解包、打包、签名程序组成。被称之为“apk反编译利器”。去Google一下apktool,有非常多的资源,无论是软件下载,还是使用教程。对非三星的应用程序进行操作,很好用。打开apktool工具包,看到如下内容:Akp程序的解包和打包软件由2个程序来完成:apktool.jar 和 aapt.exe。另外提供一个批处理文件:apktool.bat,其内容为: java -jar %dp0apktool.jar %1 %2 %3 %4 %5 %6 %7 %8 %9运行apktools.jar需要java环境(1.6.0版本以上)。apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。testkey.pk8和testkey.x509.pem是签名程序。解包命令: apktool d xxxxxx.apk ABC这里“d”表示要解码。Xxxxx.apk是要解包的APK文件。ABC是子目录名。解包的文件会放在这个子目录内。打包命令: apktool b ABC yyyyy.apk这里“b”表示要打包,ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。yyyyy.apk是打包后产生的新的APK文件。在上传的apk工具包里,已经另外加了两个批处理文件:Unpack-apk.bat和Repack-apt.bat。前者用于apk的解包过程,后者用于编辑后的文件的打包和签名。把待解包的apk文件放到Unpack-apk.bat的同一个目录里,双击Unpack-apk.bat,apk文件解包开始,产生3个子文件夹,解包后的文件被放在Working_APK文件夹内。详细内容将在第二部分描述。另外,批处理文件允许同时对多个apk文件顺序进行解包和打包。注意:文件名里不允许有空格,不能有中文。 使用前,要先安装框架文件:apktool if framework-res.apk 如果是三星系统,还要安装:apktool if twframework-res.apk2) apk managerapk manager是另一个“apk反编译利器”。它比apktool工具包还要强大些。三星的许多apk系统应用程序用了三星的闭源系统,用apktool可以解包,但是打包不成功。这时,apk manager就好用了。打开apk manager工具包,看到如下内容。软件都放在other子目录里。运行apk manager要求adb工具包(见下图中的3个adb文件)。把待解包的apk文件放到place-apk-here-for-modding子目录里,双击脚本批处理程序Script.bat,选择选项:9,产生一个子文件夹projects,解包后的文件被放在这个子文件夹内。详细内容将在第二部分描述。在使用时,有时apktool和apk manager交替使用,一个不行就用另外一个。 所以,在编辑apk应用程序时两者都要掌握。注意:文件名里不允许有空格,不能有中文。 使用前,要先安装框架文件:apktool if framework-res.apk 如果是三星系统,还要安装:apktool if twframework-res.apk3) Dex2jar和XJad该方法不是直接对apk文件进行解包。它是首先提取apk文件内的classes.dex文件,然后使用dex2jar.jar工具包将classes.dex解包成jar文件,再通过XJad 或者其他class反编译工具进行java反编译,最后生成java源文件。但是,使用这个工具包无法进行classes.dex的还原(当然也无法进行apk的打包)。尽管如此,这个工具包仍然很重要,因为它把classes.dex文件转换成了可以更容易阅读的java源文件。在修改apk应用程序时,必不可少,是一极强的辅助工具。相比之下,apktool和apk manager反编译后得到的是Dalvik 反编译码 (Dalvik opcodes),需要很专业的知识来阅读,很不直观。如果你读懂了java源文件,那修改相对应的Dalvik码不就容易多了吗。4) 其它工具包简介此外,还有许多工具包可用。这些也容易在网上找到。a) DoAPK DoAPK实际上就是apktool工具包。有人把apktool写成了带窗口界面的可执行文件。b) Google Smali 有两个程序:baksmali.jar和smali.jar。baksmali.jar用来反解析dex和odex文件,得到Dalvik码。然后用smali.jar还原成dex文件。例如,在修改状态栏时间显示颜色时,要用的这两个解析程序。c) AXMLPrinter2.jar AXMLPrinter2.jar对apk文件内的 AndroidManifest.xml和main.xml进行操作,将XML还原成文本文件,便于阅读。d) Apkdb 是一个集成apktool,smali,Dex2jar,签名等功能的工具。e) 其它工具 不再介绍。自己动手到网上去搜索吧。ROM的提取和RFS文件的解包打包本讲的主要目的: 1)简单介绍Odin刷机包ROM的结构,为文件提取和以后定制ROM做准备。 2)ROM文件的提取,主要是apk文件的提取,介绍提取方法和几个常用软件。 3)RFS文件的解包和打包。这是定制ROM的基础和必备的步骤。1. ROM结构介绍1) Odin刷机包ROM结构I897和I9000的Odin ROM通常以压缩包形式传播。文件形式为 .rar或 .zip。不管是哪一类,都可以在Windows下用WinRAR,或WinZIP,或7-zip进行解压缩。解压后得到TAR文件包(刷机包)。在通常的ROM中,除了PIT文件外,所有刷机文件都打包在一个TAR文件中(例如:JVP-SunnyOK-CN-3.tar),也有的刷机包由三个TAR文件组成(PDA.tar,CSC.tar和PHONE.tar)。不管是哪一种,它们所包含的刷机文件内容是相同的,只是ROM打包方式不同而已。无论是哪一类TAR包,解开后都会得到下列文件: factoryfs.rfs 手机上的/system 目录下的内容 cache.rfs 其它附加的内容 dbdata.rfs 对应于 /dbdata 目录 boot.bin 引导区的内容 Sbl.bin 所谓的第二引导区 param.lfs 对应 /mnt/.lfs 下的内容 zImage 内核(kernel) modem 基带(PHONE)2) factoryfs.rfs与目录/system在这些刷机文件中,我们最关心的是factoryfs.rfs。这个RFS文件包含了手机上/system 目录下的内容。我曾经在机锋论坛的其它帖子中(介绍PIT文件/android-1568237-1-1.html)介绍过,/system的可用空间是固定的276.3MB。所以factoryfs.rfs的大小通常都在276MB左右,是ROM的主要部分。我们在上一讲中用到的apk文件都在这个刷机文件里。用镜像解包软件MagicISO打开factoryfs.rfs文件后,看到的内容见下面截图。有几个文件夹是我们熟悉的:/app,/fonts,/framework,/lib和/usr。/app里就是手机的所有apk应用程序,/fonts里是各种字体的文件,/lib存放各种库文件,/framework是主题文件的文件夹,最后,我们要修改触摸键的定义就是要修改/usr/keylayout下的文件。3) 文件夹/app和/framework下面来看看两个重要的文件夹:/app和/framework。a) 文件夹/app/app对应于手机上的文件夹/system/app,里面存放的是ROM集成的所有apk应用程序(不包含三星框架文件framework-res.apk和framework-res.apk)。在MagicISO窗口点击app,进入/app目录,看到下列所有apk文件,见截图。b) 文件夹/ framework/framework对应于手机上的文件夹/system/framework,里面存放的是ROM与主题有关的文件,包括三星框架文件framework-res.apk和framework-res.apk。在MagicISO窗口点击framework,进入/framework目录,看到两个框架apk文件,还有java文件。见截图如下。要修改主题,进行美化,就要与这些文件打交道。2. ROM的提取这一节介绍如何从ROM中提取文件。最常用的就是提取apk文件。在论坛中经常看到求救帖子:“大侠,救命哇,我把XXXX.apk给删掉了,手机出错。”。我说,你完全可以自救,不必在论坛里跪求他人或在线等。出路很简单:就是自己先做备份或有手段去提取文件。另外,如果你掌握了文件的提取方法,你就可以从其它ROM中方便地移植你喜欢的应用程序和功能了。例如,移植输入法,更换主题或桌面,等等。所谓ROM的提取或从ROM中“提取”文件,实际上就是要对factoryfs.rfs文件进行解包,把里面要用的文件复制出来。factoryfs.rfs是镜像文件,用了三星自定义的格式。RFS是Robust File System的缩写。在刷机包里还有cache.rfs和dbdata.rfs,都是同类镜像文件。对它们的解包打包方法是相同的。下面来介绍几种常用解包方法。1) 直接从卡刷ROM包提取如果你的ROM是“卡刷”包,直接提取就好啦,不需要解包。卡刷包是zip格式的压缩文件。用WinRAR或WinZip直接解压ROM文件就得到所有的原文件。一个典型的ROM打开后有三个文件夹: META-INF 签名文件和刷机脚本文件 system 这就是factoryfs.rfs内的所有内容 updates 存放内核和基带进入/system/app目录,一切apk程序都在这里,对应于factoryfs.rfs内的内容和手机的/system目录。刷机就是把/system下的内容复制到规定的分区(见第二讲:I897卡刷或CWM刷机教程/android-1701867-1-1.html)。2) 用RE管理器从手机里提取,复制到SD卡还有一种ROM的提取方法,不需要其它软件。用RE管理器,利用它的“多选”-“全选”-“复制”功能,一次把多个文件复制到手机的SD卡上。然后,进入“大容量存储”把文件拷贝到计算机里。这也是做备份的一种常用方法。3) 利用91手机助手从手机提取还有一种不需要对ROM解包就可以提取到文件的途径。如果你是91手机助手的使用者,你一定熟悉它。打开91手机助手的文件管理,想提取那个就提取那个。把文件直接拖出来放到你的计算机里就行了。4) MagicISO/UltraISO/WinImage软件由于factoryfs.rfs是镜像文件,你可以用某些镜像解包软件来打开刷机文件factoryfs.rfs。常用的软件有MagicISO和UltraISO。论坛里有介绍和下载链接。我在上一节的例子中就是用到MagicISO。类似的软件有很多,你们可能各有利器。最近,也用过WinImage,结果相同。注意:这些软件只能用于解包提取文件之用,不能进行RFS打包操作。5) 在Linux下通过对factoryfs.rfs的解包在Linux环境下,通过对factoryfs.rfs进行解包操作是提取ROM的高级手段。在下一节详细叙述。3. RFS的解包和打包先强调一下,我们这一节讲的RFS文件的解包和打包不是为了提取文件之用。我们的目的并不仅仅停留在提取ROM文件上的层面上。更重要的是,我们不但要对factoryfs.rfs能解包,我们需要对包内的内容进行修改后还要能够再打包成RFS文件格式。其最终目的是为了定制自己的ROM刷机包。从技术上讲,RFS文件的打包只能在Linux系统下进行。我们在这一节就介绍如何在Linux系统下对RFS文件的解包和打包。1) 在计算机的Linux系统下假定计算机已经安装了Linux操作系统和配置了java环境。我个人用的是Ubuntu 10.04,目前最新版本是11.04。下面是对factoryfs.rfs的解包和RFS打包过程。在Linux下主要使用mount和umount两个命令,要求具有超级用户权限。操作步骤如下:a)先创建一个子目录:/home/sunny/Workb)把factoryfs.rfs复制到/home/sunny/Work这个子目录c)再在Work之下创建一个子目录Systemd)在用户终端/home/sunny/Work输入 $ su Password:XXXXXXXX(你的Root口令)输入“Password”后,获得超级用户权限,提示符变成rootubuntu:/home/sunny/Work#e)在超级用户终端/home/sunny/Work# 输入下列命令,挂载 RFS文件factoryfs.rfs 为一个磁盘: # mount o loop factoryfs.rfs System进入“磁盘”System目录,你就可以看到factoryfs.rfs解包后的所有内容。像对待正常文件夹一样,你可以用“文件夹”浏览器查看 System文件夹里面的内容,但是不能删除和添加文件。f)在超级用户终端,你可以用rm和cp命令任意删除和添加应用程序。你也可以把文件从System目录复制出来(提取文件)。由于/home/sunny/Work/System是factoryfs.rfs挂载的磁盘,修改System下的内容就是在修改factoryfs.rfs的内容。所有美化、修改、编辑工作都在此进行。g)修改好/System的内容后,在超级用户终端执行下面的语句卸载该“磁盘” ,这个操作等价于“打包”过程。为此,首先退到目录/home/sunny/Work,输入下列命令: # umount Systemh)卸载System“磁盘”后,我们就得到修改好了的factoryfs.rfs。/home/sunny/Work 目录下的factoryfs.rfs就是修改和打包后可用的文件了。System目录什么都没有了(空目录)。i)关于factoryfs.rfs的打包。在以上的操作过程中,好像没有“打包”操作,怎么就得到新的factoryfs.rfs文件了呢?事实上,在这个操作过程中factoryfs.rfs根本就没有被“解开”,是通过挂载磁盘完成的,修改工作也是在“磁盘”上做的。因而也就没有“打包”过程。这与制作Motorola XT502 NB0刷机包的过程不同。玩习惯了XT502的NB0刷机包,还一直想着如何打包呢。2) 利用手机操作系统我们Android手机的操作系统实际上就是Linux系统,是简化的Linux系统。你可以在该Linux系统中做很多事情,像在计算机的Linux系统中一样。我们可以利用它来实现RFS文件的“打包”,从而获得RFS文件(例如:factoryfs.rfs)。我们在上一节不是用它来“解包”提取过文件了吗?这里,我们利用手机并结合Windows系统来完成factoryfs.rfs的“打包”操作,或称提取factoryfs.rfs。要求手机获得Root权限。步骤如下:a)在Windows下安装ADB驱动(ADB工具包已经在第一讲给出)。b)用USB数据线把手机连接计算机。c)手机要在“设置”-“应用程序”-“开发”下勾“USB测试”d)在DOS下输入(假定ADB安装在C:/ADB/目录内): C:ADB adb shell $ su # dd if=dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096几分钟之后,再次出现“#”提示符。输入: # exit $ exit在SD卡上产生了打包好的factoryfs.rfs文件,大小为278M。e)把factoryfs.rfs文件从SD卡拷贝到计算机,待用。用MagicISO打开检查一下,是不是你要的内容。f)如果要提取其它cache.rfs和dbdata.rfs文件就用下列命令: dd if=/dev/block/stl10 of=/sdcard/dbdata.rfs bs=4096 dd if=/dev/block/stl11 of=/sdcard/cache.rfs bs=4096注意:用了某些优化内核时,所提取出来的RFS文件无法用MagicISO或UltraISO打开。需要选取合适的内核。如何制作或定制Odin刷机包ROM你们可能都注意到,在I897论坛,缺少如何定制ROM的教程和资料。我5月初加入I897论坛后,想在这方面做点事情。过去为Motorola XT502做过一些ROM(安卓论坛,用户名:SunnyOK),现在打算在三星I897上再实践一次。于是在其它论坛查找资料,在I897手机上进行改造和实践,获得成功。于6月5日发布第一个定制ROM,积累了一些经验。在这一讲里,把我个人定制ROM的过程介绍给大家。为有志于定制ROM的机友加油打气!丰富论坛!定制ROM对于玩机者来说是高级玩法,与广大机友一起玩,互动性极强,乐趣无穷。通过定制ROM,你可以简化原来的ROM,删除原包中的某些应用程序,同时增添一些你喜欢的新的应用程序,可以美化主题、桌面、设置等,进行Root和其它操作,等等。你也可以修改I9000的刷机包或其他ROM,移植内核或基带,从而定制成I897的ROM。最后打包,为自己后来刷机用或发布共享。现在进入这一讲的正题。一般说来,制作ROM可以简单地分为两个层次: 1)定制ROM:是拿官方的ROM或他人的ROM做底包,通过解包、修改、编辑、打包几个步骤,制作出自己定制的ROM。 2)自制ROM:是基于Google的安卓开源系统(Android Open Source Project,简称AOSP),从源码开始,自己编译,自己打包得到自制ROM。本讲要描述的是第一层次:如何定制ROM。更具体一点:就是如何制作或定制Odin刷机包ROM。现在网上流行的I897和I9000的刷机包主要还是基于第一层次的定制ROM。而HTC的手机则有不少是基于第二层次制作的ROM包。要定制出高质量的ROM,需要很多基础知识和积累很多ROM需要的素材。我的第三讲和第四讲都是为了现在定制ROM做的铺垫,打基础。在教程向下进行的过程中,我假定读者已经掌握了前两讲的内容,尤其是第四讲的RFS文件的解包和打包。我把定制ROM的过程分成以下几个步骤:1.底包ROM的解包2.RFS文件的解包3.RFS文件的修改、编辑、美化4.RFS文件的打包5.基带和内核的移植及其它6.新刷机包ROM的打包7.测试和发布1. 底包ROM的解包1)解RAR/ZIP压缩包I897和I9000的ROM通常以压缩包形式传播。文件形式为 .rar或 .zip。不管是哪一类,解压缩包这一步可以在Windows下进行。所用的解压工具是WinRAR,或WinZIP,或7-zip等。解压后得到TAR文件包(刷机包)。在通常的ROM中,除了PIT文件外(有的ROM中没有这个文件),所有刷机文件都打包在一个TAR文件中(例如:ROM.tar),也有的刷机包由三个TAR文件组成(PDA.tar,CSC.tar和PHONE.tar)。不管是哪一种,它们所包含的刷机文件内容是相同的,只是文件打包方式不同而已。2)解TAR包TAR包可以在Windows下用WinRAR来解,也可以在Linux下来做,视方便而定。如果定制ROM是在Linux系统下进行ROM打包,我建议TAR包在Linux下来解,这样比较方便,因为你需要的所有刷机文件都放在那里。为此,创建一个目录/home/sunny/ROM,把ROM.tar或PDA.tar拷贝到这个目录。然后在该目录下产生一个子目录PDA。把ROM.tar或PDA.tar解包到/home/sunny/ROM/PDA。解开后会看到有一个文件factoryfs.rfs,对应手机里 /system 目录的内容,修改和美化工作都在这里。这个在第四讲里已经详细讲过了。2. RFS文件的解包这个步骤及其操作在第四讲里已经详细讲过了,这里不再重复。(ROM的提取和RFS文件的解包打包/android-1822477-1-1.html)3. RFS文件的修改、编辑、美化同上。这个步骤及其操作在第三讲和第四讲里已经详细讲过了,这里不再重复。4. RFS文件的打包同上。这个步骤及其操作在第四讲里已经详细讲过了,这里不再重复。好了!到此,我们假定factoryfs.rfs和其他的的RFS文件经过2,3,4这几步都已经制备好了。5. 基带和内核的移植及其它现在是你考虑用什么基带和采用哪一个内核的时候了。这个没有什么好讲的,主要是你平时就要注意收集基带和内核,多看些评测,看对那个基带的评价好。内核主要是要跟进最新的。剩下的事就要劳你辛苦了,挨个测试吧,看那个能用,尤其是能与你要定制的ROM匹配。你为大家做ROM,是无尝的奉献,当然要有你的这些幕后工作。此外,你现在也要考虑param.lfs,或者同时增加或同时移除Bootloader boot.bin和Sbl.bin文件等。6. 新刷机ROM的打包在这一步里,把所有准备好的刷机文件打包成TAR刷机包ROM,供刷机用。下面介绍两种ROM打包方法。1) 在Linux操作系统下进行如果你有Linux环境和熟悉Linux操作系统,这ROM打包对你来说就是小菜一碟。ROM打包涉及两步:生成TAR包和md5签名。操作步骤如下:a) 把所有要打包进ROM的文件都复制到一个文件夹内,例如:/home/sunny/XXJVQ这些刷机文件包括:zImage,boot.bin,Sbl.bin,param.lfs,factoryfs.rfs,cache.rfs,dbdata.rfs 和modem.bin。b) 在超级用户终端/home/sunny/XXJVQ,输入: # tar -cf New-ROM.tar zImage boot.bin Sbl.bin param.lfs factoryfs.rfs cache.rfs dbdata.rfs modem.bin # md5sum -t New-ROM.tar New-ROM.tar # mv New-ROM.tar New-ROM.tar.md5第一步是TAR打包,第二步是md5签名。打包和签名结束。New-ROM.tar.md5就是最后定制好了的Odin刷机包ROM了。2) 在Windows操作系统下进行考虑到有些机友没有Linux环境,这里介绍一种在Windows下进行ROM打包的方法,很实用。需要你在你的Windows上安装一个虚拟Linux机。这方面的软件很多,自己去Google去吧。这里,我们用Cygwin来完成(完全免费),它是一个在Windows平台上运行的Linux模拟环境,可以实现大部分Linux的操作。幸运的是,我们ROM打包所需要的所有东西都在。由于你在模拟的Linux环境下,所以ROM打包的所有操作都与上述在纯Linux环境下完全相同。为清楚起见,这里再重复一遍:a)在C:/cygwin/home/sunny下创建一个文件夹:XXJVQ。b)把所有要打包进ROM的文件都复制到这个文件夹内。这些刷机文件包括:zImage,boot.bin,Sbl.bin,param.lfs,factoryfs.rfs,cache.rfs,dbdata.rfs 和modem.bin。c)打开Cygwin 的 bash shell,提示符是“$”。这就是模拟的Linux环境。在“$”下输入Linux命令: $ tar -cf New-ROM.tar zImageboot.bin Sbl.bin param.lfs factoryfs.rfs cache.rfs dbdata.rfs modem.bin $ md5sum -t N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司放歌活动策划方案
- 公司搬家宣传策划方案
- 公司礼物年会策划方案
- 公司直播周年庆活动方案
- 公司秋游文体活动方案
- 公司组织掰手腕活动方案
- 财务管理在未来环境下的2025年试题及答案
- 拓展知识-灭火器的报废要求
- 2025年信息技术基础知识摩擦之知考试试卷及答案
- 2025年商业分析师职业素养测评试题及答案
- 小学科学实验报告单空表
- 10kV~500kV输变电及配电工程质量验收与评定标准:01输电线路工程
- 子宫内膜癌内分泌治疗课件
- 税务行政处罚文书(标准版)
- 第三章葡萄酒酿造2
- 每天100道语法填空题过高考英语高频词汇12
- 配电室巡检记录表
- 数字程控交换机系统技术规范书
- 卓越绩效评价准则概述(专业性权威性实用性)
- GB 1886.20-2016食品安全国家标准食品添加剂氢氧化钠
- 国资进场交易工作流程讲座
评论
0/150
提交评论