详尽图文教程

自己动手DIY制作多普达CHT9000系列WM6 ROM 入门图文教程 – 8

十月 12th 2007 | Posted by X-Force

授之以之:系列6. 定制常见错误及解决方法

本文将介绍在BuildOS过程常出现的一些错误提示及其解决方法。在制作OS过程中主要出现的错误有2种,一个是重复文件错误和rgu文件错误。

1. 重复文件错误

重复文件的解决方法最简单,直接将重复文件删除就是了。但建议你最好做个记录,那些文件是因为重复而被删除了。重复文件错误可以细分为2种:

1.1 OEM Package有重复文件

我们先谈谈第一种。如在系列4制作OEM Package Part2中,我曾介绍过制作GSFinder的OEM Package和只制作GSFinder快捷方式的OEM Package,如果在定制过程中,误将2个OEM Package都选中,如图1

重复文件错误duplicate file error

Fig.1 同时选中2个GSFinder OEM Package

点击绿色三角形开始制作OS后,就会出现图2的错误提示:”\temp\dump\GSFinder.lnk已存在”

重复文件错误duplicate file error

Fig.2 错误提示:”GSFinder.lnk”已存在

同时BuildOS.exe的状态栏会显示是哪个过程出错,如图3,处理OEM\Link_GSFinder时候出错。

重复文件错误duplicate file error

Fig.3 BuildOS的状态栏错误提示

打开浏览器,在My_ROM_Kitchen下搜索GSFinder.lnk,如图4。

重复文件错误duplicate file error

Fig.4 在My_ROM_Kitchen目录下搜索GSFinder.lnk

图5是GSFinder.lnk的搜索结果,可以看到在GSFinder和Link_GSFinder下均有同名GSFinder.lnk文件。所以,2者不能同时被制作进ROM,2者删其一即可。

duplicate_file_05

Fig.5 GSFinder.lnk的搜索结果

2. OEM Package的文件和系统自带文件重复

一些OEM Package可能有些文件和系统自带的程序重复。如HTC X-Button 1.5,一个HTC出的任务管理软件,里面就有很多文件和OEMAPPS下的文件重复。可以在文末下载它的OEM Package。将它复制到\My_ROM_Kitchen\OEM目录下。运行BuildOS,如图6。

重复文件错误duplicate file error

Fig.6 选中HTC X-Button 1.5

BuildOS在处理OEMAPPS的时候,将会提示exitbutton.bmp文件重复错误。如图7。

重复文件错误duplicate file error

Fig.7 错误提示:”exitbutton.bmp已存在”

用浏览器搜索exitbutton.bmp,发现在HTC X-Button 1.5和OEMAPPS目录下均有此文件。

重复文件错误duplicate file error

Fig.8 exitbutton.bmp的搜索结果

不单单是exitbutton.bmp,X-Button1.5还有很多文件和系统自带的重复,可以见图9,左边是OEMAPPS下的系统自带文件,右边是X-Button的文件。红色方框内的文件都是重复文件。

重复文件错误duplicate file error

Fig.9 X-Button1.5的重复文件

2. rgu文件错误

rgu文件错误通常比较麻烦,在出现错误提示后,必须到temp\log.txt,来查看是那个rgu文件出问题。rgu文件错误有如下几种。

2.1 未将rgu文件保存为unicode格式

运行BuildOS,在最后建立注册表示,会出现”Error building default.hv and user.hv!”(在创建default.hv和user.hv时出现错误)。如图10。

rgu错误 rgu error

Fig.10 创建default.hv和user.hv错误

进入My_ROM_Kitchen\temp目录,打开log.txt,最后3行是错误提示,最后第3行提示在*.rgu(guid.rgu)的第1行出现错误。文件的第1行出现错误通常是未将rgu文件保存为unicode格式。解决方法就是用记事本将该文件打开,然后重新保存为unicode格式文件。

rgu错误 rgu error

Fig.11 Log.txt内错误提示

2.2 rgu文件未以REGEDIT4开头

如果rgu文件未以REGEDIT4作为第1行,那么也会出现错误,log文件中也会提示第1行出现错误。解决方法就是添加REGEDIT4到rgu开头,并将之单独作为1行。

2.3 rgu文件未以空行作为最后一行

rgu文件的最后一行如果不是空行的话,也会建立hv的时候,提示出现错误。打开log文件,如果提示出现错误的行号是最后一行的话,那么肯定是该文件未能以空行结束。解决方法,也就是增加一个空行就可以了。

2.4 rgu文件中目录提示符是单斜杠不是双斜杠

我们曾在系列4编辑rgu文件时提过,注册表项中的单斜杠必须全部用双斜杠来表示。如图12显示,第12行语句是@=”\Windows\regedit.exe,-143″,正确的应该是:”@=\\Windows\\regedit.exe,-143″。

rgu错误 rgu error

Fig.13 rgu内第12行代码

那么将出现第12行语句错误的提示。如图14。

rgu错误 rgu error

Fig.14 log文件错误提示

为了简化rgu文件的测试,我编写了一个bat文件(test_hv_rgu.zip,在文末下载)来检查rgu是否存在错误。解压下载的test_hv_rgu.zip里面包括2个批处理文件,2个dll文件和一个rgucomp.exe。双击make_hv.bat来检查rgu文件是否能正确被转换成hv文件。运行界面如图15,请把拟测试的*.rgu文件重新命名为boot.rgu,并将它放到和批处理同一目录下。

测试rgu和hv test rgu or hv

Fig.15 运行make_hv.bat

按任意键开始转换,图16是因rgu文件非unicode格式而提示在第1行出现错误。

测试rgu和hv test rgu or hv

Fig.16 错误提示

如果过程没有错误,会提示<RGUComp> done! 如图17。

测试rgu和hv test rgu or hv

Fig.17 正常结束

用make_rgu.bat可以将hv文件转换为rgu文件。图18是该批处理的运行界面。将*.hv改名为user.hv。

测试rgu和hv test rgu or hv

Fig.18 运行make_rgu.bat

按任意键开始转换,图19是转换结果,一般不会有错误。

测试rgu和hv test rgu or hv

Fig.19 hv转换为rgu

在目录下生成user.rgu,如图20。

测试rgu和hv test rgu or hv

Fig.20 在目录下生成user.rgu

打开user.rgu,查看内容,如图21,前4行是RGUComp的信息,剩下的都是注册表表项。

测试rgu和hv test rgu or hv

Fig.21 user.rgu内容

下次,将发布我制作的基于Dopod官方WM6.0 ROM的ROM Kitchen

for Softbank。今天到此为止。

软件下载(Tool downloads) 文章来源

1. HTC X-Button 1.5 OEM Package

Download HTC X-Button 1.5 OEM Package
名字: HTC X-Button 1.5 OEM Package
大小: 137.78 kBytes
文件类型: .zip-文件
添加: 13. Aug 2007 – 23:33 h

2. test_hv_rgu.zip,用来测试rgu或hv文件

Download Test hv or rgu
名字: Test hv or rgu
大小: 235.37 kBytes
文件类型: .zip-文件
添加: 06. Aug 2007 – 00:01 h
下载: 79

留下我的足迹:

姓名 (必填):
邮箱 (必填):
网站:
留言内容 (必填):