最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

手机ROM制作教程

来源:动视网 责编:小OO 时间:2025-09-24 00:06:38
文档

手机ROM制作教程

第零章前言包括ROM的制作、汉化、优化、celecmd、mortscrtip、马尼拉基本修改等等。第一章模板与ROM的简略说明我们升级手机系统,是下载一个ROM,再通过电脑刷进手机或者直接复制到手机存储卡里卡刷进去。那么一个ROM是怎样制作出来的呢?最方便的方法莫过于使用模板制作了。而模板是什么呢?又是怎样来的呢?英文里制作ROM叫做cookrom,为什么这样叫呢?顾名思义,就是一个ROM其实是煮出来的。如果我们已经有了一个模板,那么制作出一个ROM对于我们来说,其实就相当于跟煮饭、炒菜一样简
推荐度:
导读第零章前言包括ROM的制作、汉化、优化、celecmd、mortscrtip、马尼拉基本修改等等。第一章模板与ROM的简略说明我们升级手机系统,是下载一个ROM,再通过电脑刷进手机或者直接复制到手机存储卡里卡刷进去。那么一个ROM是怎样制作出来的呢?最方便的方法莫过于使用模板制作了。而模板是什么呢?又是怎样来的呢?英文里制作ROM叫做cookrom,为什么这样叫呢?顾名思义,就是一个ROM其实是煮出来的。如果我们已经有了一个模板,那么制作出一个ROM对于我们来说,其实就相当于跟煮饭、炒菜一样简
第零章  前言

包括ROM的制作、汉化、优化、celecmd、mortscrtip、马尼拉基本修改等等。

第一章  模板与ROM的简略说明

我们升级手机系统,是下载一个ROM,再通过电脑刷进手机或者直接复制到手机存储卡里卡刷进去。那么一个ROM是怎样制作出来的呢?最方便的方法莫过于使用模板制作了。而模板是什么呢?又是怎样来的呢?

英文里制作ROM叫做cook rom,为什么这样叫呢?顾名思义,就是一个ROM其实是煮出来的。如果我们已经有了一个模板,那么制作出一个ROM对于我们来说,其实就相当于跟煮饭、炒菜一样简单,我们只需把材料(OEM包等)扔进去,然后很简单的(点击一下鼠标)就可以煮出来。(当然煮的好不好吃是另外一回事,呵呵)

因此,模板可以看成是非常简单就能制作出ROM的软件,对于我的模板,只需点击一下BT BuildOS.exe,再勾上/去掉你所需要/不需要的OEM软件,点击开始,过几分钟就会自动做好ROM并弹出刷机软件,呵呵,够简单吧。

而模板的来源,可以利用工具将官方发布的ROM反向分解形成(或者下载别人制作好的)。

那么我们先来讲讲如何形成一个标准的模板吧。

第二章 将官方ROM转化成标准的模板结构

一、必要软件

1、安装.net 3.5(win7可跳过)

下载:http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-42-b6db-bd4f42510f28/dotnetfx35.exe

2、安装VC2008(win7可跳过)

下载:ftp://pcg@ftp.pcgpcg.net/ppc/VCredist x86.rar

3、模板工具BT BUILD下载:

下载:ftp://pcg@ftp.pcgpcg.net/ppc/BT BuildOS.rar

3、模板分区剩余空间1.5G以上

4、建议在ntfs分区使用。

5、在文件夹选项里打开显示系统、隐藏文件,最好也显示扩展名。

二、下载官方ROM

1、可以去HTC官方网站下载,凭你的PPC机SN号下载,若没有适合的SN号可以去拜托GOOGLE大神。

2、一些论坛偶尔也会放出一些test、ship rom、chs rom。

三、ROM的最基本结构(头晕的可跳过)

从官方下载回来的ROM,是EXE格式,可以直接用winrar解压出来,其中RUU_signed.nbh是ROM,其余文件是刷机软件(注:刷机软件一般是通用的)。

RUU_signed.nbh这个文件是由一个或多个NB文件合成的。官方的RUU_signed.nbh通常由os.nb(系统)、ipl、spl(装载系统、CID检测等)、MainSplash(第一屏)、radio(通讯)等等组成。

而os.nb则是一个ROM主要部分,由os镜像+头部尾部组成(头部尾部不同机型不一定相同),纯os镜像由两部分组成:xip和imgfs.bin,而imgfs.bin又可以分成两部分:oem和sys,xip是系统首先装载的基本文件,oem是厂商定制的软件(其中除了驱动外90%以上是通用的),sys是微软的系统核心。

Nbh文件可以用NBHextract.exe这个文件来分解。

Os.nb文件可以用nbtool.exe来分离出纯os镜像,再解压出xip.bin、imgfs.bin

Imgfs.bin可以用ImgfsToDump解压出文件,再用PKGTool.exe根据里面的dsm整理成各个目录。

不过以上是旧的方法,bepe在09年末推出了新的dump工具xidump(原ImgfsToDump),可以直接从nbh等格式ROM分解出oem、sys、xip等(链接:http://forum.xda-developers.com/showthread.php?t=572673)。

1、简单的分解过程如下:

(1)NBH分解成各个nb。(NBHextract.exe)

(2)os.nb分解成xip和imgfs。(nbtool.exe)

(3)imgfs分解成oem、sys。(imgfstodump.exe)

以上步骤现在可以直接用xidump全部代替。

2、简单的合成ROM过程如下:

(1)oem、sys、xip生成dump目录和xip.bin。(platformrebuilder.exe)

(2)oem、sys合成imgfs.bin(imgfsformdump.exe)

(3)xip、imgfs.bin插进原来的os.nb里(imgfstonb.exe、implantxip.exe)

(4)os.nb签名成nbh。

四、将官方ROM整理成一个标准模板。

(一)BT BuildOS简略说明

1、BT BuildOS是由btxakita基于MyBuildOS(小桥)进行的拓展,以platformrebuilder(bepe)排序工具为核心的ROM制作工具。

2、因为BT BuildOS是以platformrebuilder来排序,因此HTC机型可以省却手工移植XIP的烦恼,并且支持原生6.5nk。

3、因为是基于MyBuildOS的拓展,所以可以读取OEM里的option.xml提供该OEM包的选择与说明等。

4、OEM目录支持分类,EXT目录支持ext格式的oem包,并且也支持分类以及可将目录名显示在buildos界面提供选择。

5、OEM、TOOLS、RUU支持自定义路径,可编辑rom\\config.ini或在BT BuildOS的目录选择里选择。

6、支持自定义机型,请参考BT BuildOS\\TOOLS\\Devices.ini自行编写,我已经将常用机型列出来,不过未能一一测试,有错之处请反馈或自行修正。

7、xidump目录是我根据bepe的xidump.exe整理的分解ROM工具包,其中里面有三个BAT,可以把相关文件拖到那几个BAT上实现傻瓜分解。其中Dump.bat可以解出oem+sys+xip(假如有的话),Dump_os.nb.payload.bat可以解出精简后的os.nb.payload,Dump_XIP.bat可以只解出xip。

8、BT BuildOS我设定的默认目录简略说明

BT BuildOS(这个是解压后出的目录)

|

|—-EXT(EXT格式的OEM包扔到这里,里面还要进行分类)

|

|—-XXX1(分类目录1,会在BT BuildOS里显示出来)

|

|—-XXX(EXT OEM包

|

|

|

|—-XXX2(分类目录2,会在BT BuildOS里显示出来)

|

|—-XXX(EXT OEM包)

|

|—-OEM(普通OEM包扔到这里,里面还要进行分类)

|

|—- XXX 1(分类目录1,会在BT BuildOS里显示出来)

|

|

|—- XXX(普通OEM包)

|

|

|—- XXX 2(分类目录2,会在BT BuildOS里显示出来)

|

|—- XXX(普通OEM包)

|—-ROM(os.nb.payload以及xip放在这里)

|

|—-os.nb.paylaod文件(相应机型的纯OS镜像)

|

|

|—-XIP(XIP目录)

|

|—OEM(XIP的不同机型专用的OEM部分放在这里)

|

|

|—romhdr.bin文件

|

|

|—OEMXIPKernel(XIP的OEMXIPKernel目录放在这里)

|

|

|—WinCENLS_xxx(XIP的wincenls目录放在这里)

|

|—XXX(XIP相应核心的目录)

|

|—MSXIPKernel(XIP的OEMXIPKernel目录放在这里)

|

|—-RUU(刷机软件及制作出来的ROM文件)

|

|—-SYS(SYS核心放在这里,里面还要进行核心分类)

|

|—-XXX(以核心命名的目录)

|

|—-TOOLS(模板制作过程所用到的工具软件)

|

|—-xidump(分解ROM、XIP的工具包)

|—Dump.bat(拖到上面可以分解出oem+sys+xip)

|—Dump_os.nb.payload.bat(拖到上面可以分解出精简后的os.nb.payload)

|—Dump_XIP.bat(拖到上面可以分解出XIP)

|—bin(分解所用到的工具包)

(二)分解

以HD的RUU_BlackStone_hTC_Asia_TW_1.59.709.0_Radio_52.62.25.34_1.13.25.24_Ship.exe为例。

1、下载BT BuildOS.rar,解压。将官方ROM里的除了RUU_signed.nbh以外的文件扔到RUU目录(刷机时用),将RUU_signed.nbh扔到xidump目录里,然后把nbh拖到dump.bat身上,就会自动分解xip、oem、sys,经过比较漫长的显示后,会提示请按任意键继续,此时按任意一键就会退出DOS窗口完成分解过程。

2、把nbh拖到Dump_os.nb.payload.bat身上,就会分解出精简后的os.nb.payload。(如果你有未精简的os.nb.payload,也可以拖到BAT身上得到精简后的os.nb.payload)

3、现在多出了romhdr.bin、os.nb.payload文件和imgfs目录、xip目录。我们先初步整理测试。

(三)初步整理

用BAT自动整理也不是不可以,不过为了让大家熟悉一下模板结构,这里就手动整理吧。

1、将os.nb.payload移到BT BuildOS\\ROM里。

2、将romhdr.bin移到BT BuildOS\\ROM\\XIP\\OEM里

3、将IMGFS目录里的OEM目录剪切到BT BuildOS\\OEM目录(BT BuildOS\\OEM\\OEM)。

4、将IMGFS目录里的SYS目录剪切到BT BuildOS\\SYS目录,并将这个SYS目录改名为相应的核心,这个ROM的核心是20769,因此将SYS目录名改成20769(BT BuildOS\\SYS\\20769)。SYS的核心,可以用SYSVersion.exe查看。

5、进入XIP目录,会发生XIP目录里有5个目录,其中LangDB和MSXIPKernelLTK里面只有一个DSM文件,没什么作用可以删掉。MSXIPKernel是微软的XIP核心,移植核心时就要移植这部分。OEMXIPKernel是该机型的驱动,一般不通用(驱动的另外一部分在oem\\oemdrivers里)。WinCENLS_Lang_0404里是wince.nls,这个文件负责区域及文字显示等功能。(注:wince.nls的目录名视不同语言的ROM而不同,目前platformrebuilder有个BUG,英文200K的wince.nls有时会引起PRB报错)。

(1)在BT BuildOS\\ROM\\XIP下新建一个目录,目录名为XIP核心,即BT BuildOS\\ROM\\XIP\\20769,然后将刚才分解的XIP目录里MSXIPKernel目录移过来。

(2)把OEMXIPKernel和WinCENLS_Lang_0404移到BT BuildOS\\ROM\\XIP\\OEM里

(四)刷机测试

基本的模板已经初步整理好了,先刷机测试一下这个模板是否可用吧,没问题了再进行详细的整理及汉化、移植核心、移植OEM等工作。

1、确认你的PPC已经解锁,不解锁是刷不进非官方ROM的。

2、打开BT BuildOS.exe,左侧的机型选择,选择你的机型,这个是HD ROM,所以选择HD。(可以自己修改BT BuildOS\\TOOLS\\Devices.ini内容)

3、第二列是读取各个分类目录名,这里要勾上OEM这个目录,否则这个目录里的OEM包都不会定制的。

4、可以看到右侧并没有OEM选择,这是因为我们还没给每个OEM创建option.xml,所以默认就会全部定制而不提供选择。

5、点击工具/选项,其中有一项是“启用PRB原生6.5 nk模式”,6.5nk比6.1nk多了两个slot,能容纳更多的模块,不过这个ROM是6.1的ROM,所以把这项去除吧。(记住若你的NK是6.5的一定要勾上)

6、然后点击上方的绿色三角运行吧,会先弹出PRB窗口排序DUMP文件,再生成ROM,完成后会弹出刷机软件

7、试试刷机吧,祈祷能进入系统:)

注:后期HTC官方ROM里的Notification_Enhancement里的NTFConfig.dll模块PRB处理有问题,不转换成文件的话会定在第一屏,请留意。

(五)刷机成功之后……

无意外的话,刷机应该能成功吧。不过成功后我们还有很多事情要做,真正费体力的活现在才开始喔……开玩笑的,希望别被吓倒:)

首先这个这是个繁体版ROM,所以我们先要把ROM改成简体。

不同语言的模板,有三部分不同,一部分是SYS核心,一部分是OEM官方集成软件部分,一部分是XIP里的wince.nls区域相关文件。确切来讲,不同语言的模板,主要区别只在于注册表和MUI

核心部分可以直接移植一个简体的核心,这样就省下很多功夫。

嗯,我们先讲移植吧。

第三章 移植核心

一、获得核心。

1、核心是WM系统通用部分,目前核心的更新只能刷ROM来解决。

2、目前核心基本来源方式有官方ROM提取、一些论坛发布。目前论坛发布的,主要有DFT的mwang、XBETA的猴子及XDA的DA_G,可以自行下载自己喜欢的核心。

3、我们以目前HTC官方ROM版本最高旧特性WM65的212核心为例来移植吧。这个是猴子在XBETA发布的:

(fs2you://Y2FjaGVmaWxlMjYucmF5ZmlsZS5jb20vemgtY24vZG93bmxvYWQvMWFmNTcwNmM0YTlmMTUzNWE5YmE3MTYxNDliZDBjZDEvMjE4OTJfV1ZHQV9DSFMucmFyfDU3OTg0MDk3)

二、分解、整理核心。

核心有两部分,一部分是SYS,一部分是XIP,而猴子发布的一般是dio格式的ROM,我们先分解吧。

1、解压出FLASH.DIO文件,移到BT BuildOS\\xidump目录里。

2、将FLASH.DIO拖到Dump.bat身上,几分钟后会提示请按任意键继续,此时按任意一键就会退出DOS窗口完成分解过程。

3、现在多出了romhdr.bin、imgfs目录、xip目录。

4、将IMGFS目录里的SYS目录剪切到BT BuildOS\\SYS目录,并将这个SYS目录改名为相应的核心,这个ROM的核心是212,因此将SYS目录名改成212(BT BuildOS\\SYS\\212)。

5、在BT BuildOS\\ROM\\XIP新建一个与SYS核心版本号相同的数字,即新建一个212目录,然后将刚才分解的XIP目录里MSXIPKernel(BT BuildOS\\xidump\\XIP\\MSXIPKernel)复制进去(BT BuildOS\\ROM\\XIP\\212\\MSXIPKernel)。

6、移植结束,很简单吧。不过SYS里有些地方我们还要调整一下的。

(1)Metadata这个目录最好使用自己机型里的,因为有些机型不保留这个的话,会有些奇怪的问题发生。

(2)gb18030目录里有个simsun.ac3新宋体字体,若你想使用其他字体,比如雅黑字体的话,那就要删掉这个simsun.ac3,否则一些软件的界面会出现两种字体,看上去很不美观。

(3)SampleMusic是范本音乐,里面有两首WMA文件,这个目录可以直接删掉。

(4)WinCENLS_Lang_0804是wince.nls文件,这个在XIP里已经有了,可以删掉(有些机型可以放在XIP也可以放在SYS,有些机型只能放在XIP里)。

(5)browsingie\\mxip_wpclang_favorites_1000.provxml这个文件里有4个地方是"\\Windows\\Favorites",我们可以改成"\\Windows\收藏夹",这样可以避免一些软件打不开收藏夹。要注意修改后将这个文件保存为UTF-8格式。

7、移植结束~不过若是在DFT下载的核心,SYS是拆开各个不同的部分,就要自己手工整理成一个SYS目录。比如DFT最新的核心,WVGA的要将以下目录放在一起才完整:

(1)COMMON

(2)COMMON_0804

(3)WVGA_COMMON

(4)WVGA_0804

第四章 XIP及OEM处理

一、XIP的中文化处理

ROM\\XIP\\OEM里有WinCENLS_Lang_xxxx的目录,里面有个wince.nls,这个是负责系统的区域、语言显示相关内容,其中英文的是200K左右,简体中文的是800K左右,繁体中文的是1.4M左右。我们将这个换成简体中文的,省点空间,将WinCENLS_Lang_0404替换成WinCENLS_Lang_0804(简体中文ROM里的XIP有,或者刚才移植的212核心的SYS里也有)。

二、OEM的处理

(一)下载基本相关软件

1、文件对比软件:Beyond Compare 3

2、搜索软件:SearchAndReplace63_gnatix.rar

3、汉化编辑软件:Restorator 2007

4、CAB编辑软件:WinCE Cab Manager v3.0.0.22 汉化版 

5、CAB转OEM包软件:package-creator-v2.7修正简体版

(二)OEM基本说明

OEM可以简单理解为HTC官方集成的软件,而相近机型的大部分OEM都是通用的。当然我们做ROM的时候一般也会加入自己所需要的OEM包,这样刷机后这个软件、功能就直接存在,不必刷机后再安装、调整。

官方的OEM,可以简单分为两部分,一部分是PACKAGE_xxxx(机型)_xxxx(软件名),例如PACKAGE_BlackStone_AdobePDF,这类软件大部分是通用的,另一部分就是剩下的oemxxxx和OperatorPkg等,通常要做一定修改。

我们将繁体系统修改成简体系统,顺便直接把新的OEM移植过来吧,我们就以rhodium的原生M25官方ROM里的OEM为例吧(RUU_Rhodium_S2_hTC_Asia_WWE_2.07.707.1_Radio_Rhodium_4.49.25.91_Signed_Ship.exe)。

一个标准的OEM包会分成两部分,一部分程序的主体部分(exe、dll、图片等),另一部分是语言包(mui文件、相关注册表、快捷方式),我们中文化的功能,主要就是将MUI的内容改成简体,并将相应的MUI改名,比如xxx.exe.0404.mui,改名为xxx.exe.0804.mui,系统会根据当前系统语言,自动读取相应的MUI,所以MUI不改名的话会不起效的。我们可以使用Restorator 2007来打开MUI文件进行汉化工作。

下载解压出NBH,扔进xidiump里分解吧。不过我们先处理非通用OEM部分吧。

(三)处理非通用部分(以HD为例)

1、删掉无用目录

凡是目录里只有一个DSM的,都删掉吧,不起什么作用的。

BuildInfoPkg里有些TXT,是官方ROM的基本信息,也删掉。

ConfigAP里有个config_AP.txt,这个是第一次开机runcc调用的配置文件,以实现第一次开机时安装一些软件等,如果不需要用RUNCC的可以删掉。此外还有ControlBlock、ExtendedPkg目录,以及OperatorPkg及OperatorPkg_PT里的configxxx.txt都是RUNCC相关的。

2、处理OEM_Lang_xxxx

这个目录,可以解一个简体的ROM,和OEM_Lang_0804对比一下(用Beyond Compare 3)对比。

(1)RGU注册表处理

其中RGU可以参照简体的将相应的地方改成简体中文,比如:

REGEDIT4

[HKEY_LOCAL_MACHINE\\System\\StorageManager\\Profiles\\PCMCIA]

    "Folder"="儲存卡"

这个是定义储存卡的卡名,这里我们为了兼容性,一般是改成英文的卡名Storage Card

[HKEY_LOCAL_MACHINE\\Comm\\Irsir]

   "DisplayName"="序列 (COM) IrDA 驅動程式"

这里直接改成简体“串行(COM) IrDA 驱动程序”

[HKEY_CURRENT_USER\\Keyboard Layout\\Preload]

    @="e0010404"

[HKEY_CURRENT_USER\\Keyboard Layout\\Preload\\1]

    @="e0010404"

这两个是输入法默认区域,改成e0010804吧。

[HKEY_CLASSES_ROOT\\{030D681B-1DFC-4bd0-A72A-A9B3CCCDA653}]

"DisplayName"="相機"

直接改成简体相机

[HKEY_LOCAL_MACHINE\\System\\Pictures\\Camera\\OEM\\PictureLocation]

"Internal"="[url=file://\\\\My]\\\\My[/url] Documents\\\我的圖片\\\\"

也是直接改成简体[url=file://\\\\My]\\\\My[/url] Documents\\\我的图片

[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Shell\\Keys\40C6]

@="\\"[url=file://\\\\Windows\\\\AppButtons\\\\]\\\\Windows\\\\AppButtons\\\\[/url]語音快速撥號.lnk\\""

"Name"="功能鍵 1(按住)"

"Icon"="[url=file://\\\\windows\\\\SDDialer.exe]\\\\windows\\\\SDDialer.exe[/url], 0"

"ResetCmd"="\\"[url=file://\\\\Windows\\\\AppButtons\\\\]\\\\Windows\\\\AppButtons\\\\[/url]語音快速撥號.lnk\\""

"Flags"=dword:0

"功能鍵 1(按住)"这个可以改成更直观的"拨号键(长按)",而"語音快速撥號.lnk"改成"语音拨号.lnk"吧。

[HKEY_CURRENT_USER\\Software\\Microsoft\\Today\\Keys\\112]

@="行事曆"

这个是日历

"Open"="[url=file://\\\\windows\\\\calendar.exe]\\\\windows\\\\calendar.exe[/url]"

[-HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Today\\Items\\"無線裝置"]

[-HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Today\\Items\\"無線裝置"]

这个注册表前面有-,代表删除,这个是删除今日项目里的"无线"

[HKEY_LOCAL_MACHINE\\ControlPanel\\Stylus\\192DPI]

"CurFont"=dword:3E8

[HKEY_LOCAL_MACHINE\\Security\\ResOver]

"53"="行動電話通訊線路 (GPRS , 3G)"

"54"="GPRS , 3G"

这里依简体的改成"蜂窝电话线路 (GPRS)"

[HKEY_LOCAL_MACHINE\\System\\StorageManager\\Profiles\\SDMemory]

    "Folder"="儲存卡"

这个也是卡名,实际上这个才起实际作用的,改成Storage Card

[HKEY_LOCAL_MACHINE\\ControlPanel\\TaskMgr]        

"Redirect"=""

基本上对照简体ROM的注册表来改就可以了。

(2)

这个是硬启时提示等待的图片文字,可以直接替换简体ROM里的,或者自己PS一个自己喜欢的说明:)

(3)pwi文件

这个是便笺的模板文件,可以直接用简体ROM里的

(4)mxip_initdb.vol

这个是数据库文件,可以不管它。

(5)mxipupdate_RemoteDesktopMobile.provxml

这个是创建远程桌面的provxml文件,直接替换用CHS的吧

(6)initflashfiles.dat

这个是硬启时创建目录、复制文件等操作的配置文件,这个可以用CoXCo.exe来解码再用记事本打开(tools里有)。

钻石、PRO、HD机型时这个文件只包含了系统目录、文件创建复制,而OEM包的文件是通过provxml调用AutoShortcut来操作的。不过钻石2后期的机型,OEM包的文件操作也直接放在这个文件里,我建议还是手工将各个OEM包的复制文件拆分到相应OEM包里。

我们先来说说系统部分的中文化吧。

同样,我们也是用一个简体的initflashfiles.dat来对比,记得先用CoXCo.exe解码后(生成initflashfiles.dat.txt),再通过Beyond Compare 3来对比。可以直接将initflashfiles.dat拖到CoXCo.exe身上,再选择解码,点击处理。然后在initflashfiles.dat.txt身上按右键选择“选择左侧文件”,再右键点击“与initflashfiles.dat.txt”对比。

这个是繁体和我简体化后的initflashfiles.dat.txt,大家可以对比看看:

下载:

3、OEMDRIVERS

OEMDRIVERS一般不需要特殊处理,不过后期的机型里的蓝牙有个MUI是放在OEMDRIVERS的,必须汉化。

另外里面有个mxipupdate_zzRemoveTSKmgr_1.provxml,这个provxml是删掉任务管理器的快捷方式以及我的图片里的四张图片,需要的可以直接干掉这个provxml。

4、OEMVersion

这个里面有个注册表,功能是显示相应的版本号,这个目录可以直接删除,因为BT BUILD的界面已经提供了这个功能,直接在那里填写就可以了。

5、OperatorPkg和OperatorPkg_PT

这两个目录比较主要,也有点复杂。这里主要是放些运营商相关的东西,包括该机型的标志等。WWE和CHT版这个目录就清爽点。

这个目录主要要注意的地方有那几个provxml,里面有很多注册表都比较重要的,可以好好留意每一项。另外后期的机型这个目录里反而是rgu注册表比较重要,provxml简化了好多。

里面有个ModelName.txt文件,这个是设备信息里的关于机型的显示。

HTC Black.tsk,这个是主题文件,可以使用RHODIUM M25 ROM里的,这个可以在wm65上显示的效果要好,不过要注意要将也复制过来,否则没有wm65大菜单效果。

多和简体的,或者我及其他人模板的对比一下,以后有空再详细说说。

基本上就是这样,BT BUILD会自行产生一个Common目录,可以将上述的目录扔到这里,而PACKAGE_xxxxx_yyyyy的目录可以新建个相应的xxxxx目录,再扔进去,这样就整洁些。

(四)处理非通用部分(以rhodium为例)

前几天刚弄了一个rhodium模板,顺便再以rhodium机型为例说说这部分的OEM处理吧。大家可以下载模板对比一下,这样更直观。

1、除了OEM_Lang_0409、OEMDrivers、OEMMISC、OperatorPkg保留之外,其余目录删掉(我现在才发现我模板里把OEMMISC删了……呃,迷糊了)

2、OEM_Lang目录处理同上。

3、OEMDrivers目录要将BtRez.dll.0409.mui汉化并改名为BtRez.dll.0804.mui(这个好多内容,可以参考LEO CHS ROM里的汉化一下)。

4、OEMMISC应该是windows live及同步相关的,LEO机型的会多些证书之类的,这个不需要改都可以。

5、OperatorPkg目录

(1)htc-opera.htm,将里面的Search改成搜索

(2)嗯,这个ROM……HTC迷糊了,如果不启用HTC大菜单,那菜单的上下栏宽度与菜单宽度不符,超难看,所以要将和替换正确的文件……

(3)mxipupdate_oemoperators_101.provxml,这个可以将中国移动默认的连接加进去,将CHS ROM里的相关内容复制进去即可。

(4)mxipupdate_oemoperators_104.provxml,可以将彩信设置及相关PROVXML内容加进去。

(5)RGU注册表:

[HKEY_LOCAL_MACHINE\\nls]

"DefaultLCID"=dword:00000C09

默认区域,所以将C09改成804

[HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\RIL]

"NITZEnable"=dword:00000000

改成1可以打开自动基站对时(但某些区域的时间可能会变慢)

[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Clock]

"Home"=dword:00000187

[HKEY_LOCAL_MACHINE\\Software\\HTC]

"DefaultTz"=dword:000000D7

将187改成031,将D7改成D2,这两个可能与默认城市有关。

[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer\\AboutURLs]

"home_0409"="[url=file://\\\\windows\\\\home.html]file://\\\\windows\\\\home.html[/url]"

将前面的home_0409改成home_0804,IE的主页。

[HKEY_CURRENT_USER\\Software\\HTC\\Manila]

"Locale"="en-AU"

将en-AU改成zh-CN吧。

好了,就是这么简单,还可以将PKG里多余的一些文件删掉。

(五)处理PACKAGE_RHODIUM_S2_OEM部分

这部分的工作,就是将RHODIUM的OEM改成简体。

各个OEM的改法其实都一样的,无非是将MUI的内容改成简体并改名,修改相应的注册表,再创建initflashfiles.txt,将initflashfiles.dat里相应的部分复制修改进去。另外还可以为非必须软件创建option.xml,在bt build界面上提供选择是否订制。

当然实际上我们不可能真的将各个MUI自己手工汉化,多大的工作量啊……我们可以偷懒点,下载LEO和QILIN的CHS ROM,解开,找到相应的MUI,直接用里面的(当然最好还是打开MUI对比一下看有不同之处不,不同之处再修改一下)。

所以虽然这部分花费的时间最多,但反而没什么好提的,主要是体力活,自己对比一下我模板的和RHODIUM原始的就知道了。

所以这里就不说具体的过程了,这里简单说一下一个OEM包的制作,以及列一下rhodium的每个OEM包的简单说明吧。

1、BuildInfoPkg

ROM的基本信息

2、ConfigAP

里面有个config_AP.txt,供runcc第一次开机时调用,以进行安装CAB、处理XML等。

3、ConnectionSetupDB

这个是ConnectionSetup所需的数据包,里面包含了许多国家的运营商设置,这里也可以精简,去掉你用不上的国家数据库,这里的DB文件其实是与注册表中运营商显示相对应的(HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\RIL\\OperatorNames)。

另外里面的DB文件,其实是个ZIP包,不过是加密的了,密码也比较容易找,是明码写在ConnectionSetup.exe里的,用WINHEX搜索U码DBIndex,下面几行就可以看到明文的密码(030D681B-1DFC-4bd0-A72A-A9B3CCCDA653),解压后可以看见全是一些XML。(谢谢hzggz提供的方法)

4、ControlBlock

里面有个runcc.lua,是提供给RUNCC执行configxxx.txt用的,防止缺少某个config.txt时会定在安装界面。

5、ExtendedPkg

里面的config.txt就是供runcc用的配置文件,可以参考官方的来添加自己需要第一次开机进行安装的软件等。

6、OEMDrivers

驱动目录,若想换个驱动,除了换OEMDrivers之外,还要换相应版本的\\ROM\\XIP\\OEM\\OEMXIPKernel

7、OEMMISC

windows同步等?(待高人详解)

8、OEMVersion

ROM版本号的注册表

9、OEM_Lang_0409

系统基本相关配置,上面已经详细说过了。

10、OperatorPkg

运营商的一些设置

10、OperatorPkg_PT

同上

11、PACKAGE_RHODIUM_S2_AdobePDF

AdobePDF的OEM包,看PDF用的软件

12、PACKAGE_RHODIUM_S2_AdvancedNetwork

高级网络

13、PACKAGE_RHODIUM_S2_aGPS_Confirmation

AGPS OEM包(不知道为什么PRO2的AGPS用不了)

14、PACKAGE_RHODIUM_S2_Album

相册

15、PACKAGE_RHODIUM_S2_AppointmentEditor

约会编辑

16、PACKAGE_RHODIUM_S2_App_Service

电话相关服务

17、PACKAGE_RHODIUM_S2_Arphic_CHS_WWE_Font

亚太版的粗黑字体

18、PACKAGE_RHODIUM_S2_Audio_Booster

音频增强器

19、PACKAGE_RHODIUM_S2_Audio_Manager_Engine

马尼拉的音频管理器

20、PACKAGE_RHODIUM_S2_BCR_WWE

名片识别程序

21、PACKAGE_RHODIUM_S2_Boot_Launcher

开机加载服务、程序

22、PACKAGE_RHODIUM_S2_BrowserSnapshot

IE相关增强组件

23、PACKAGE_RHODIUM_S2_Calculator

HTC的计算器

24、PACKAGE_RHODIUM_S2_Camera_HTC_ALL

HTC相机

25、PACKAGE_RHODIUM_S2_ClearStorage

恢复出厂设置

26、PACKAGE_RHODIUM_S2_CMBandSwitching_HTC_ALL

频段

27、PACKAGE_RHODIUM_S2_CMCallBarring

呼叫

28、PACKAGE_RHODIUM_S2_CMCallerID

本机号码

29、PACKAGE_RHODIUM_S2_CMCallForwarding

呼叫转移

30、PACKAGE_RHODIUM_S2_CMCallWaiting

呼叫等待

31、PACKAGE_RHODIUM_S2_CMPhoneVMSetting

语音邮件和短信

32、PACKAGE_RHODIUM_S2_CMPhone_HTC_ALL

手机设置

33、PACKAGE_RHODIUM_S2_CMPin

PIN 码

34、PACKAGE_RHODIUM_S2_CommManager_HTC_ALL

无线控制(通讯管理器)

35、PACKAGE_RHODIUM_S2_Concurrence_Mgr

htc界面插件的控制,比如htc音量体界面调节(谢谢sundream说明)

36、PACKAGE_RHODIUM_S2_ConnectionSetup_HTC_ALL

连接设置

37、PACKAGE_RHODIUM_S2_Contact_Picker

联系人组件

38、PACKAGE_RHODIUM_S2_Contact_Utility_Engine

马尼拉联系人组件

39、PACKAGE_RHODIUM_S2_DataDisconnect

断开数据连接

40、PACKAGE_RHODIUM_S2_DeviceInfo

设备信息

41、PACKAGE_RHODIUM_S2_DRM_Middleware

多媒体相关组件

42、PACKAGE_RHODIUM_S2_Dshow

多媒体相关组件

43、PACKAGE_RHODIUM_S2_Email_Setup_Wizard

邮箱设置

44、PACKAGE_RHODIUM_S2_ExtNewPhoneSetting

新电话设置

45、PACKAGE_RHODIUM_S2__Engine

组件

46、PACKAGE_RHODIUM_S2_Field_T_e_s_t

FieldTest测试工具

47、PACKAGE_RHODIUM_S2_FlashLiteShareDLL

Flash组件

48、PACKAGE_RHODIUM_S2_FM_Radio

收音机

49、PACKAGE_RHODIUM_S2_FormatSD

格式化SD卡

50、PACKAGE_RHODIUM_S2_Full_Screen_Player

视频播放

51、PACKAGE_RHODIUM_S2_GoogleLocationService

52、GOOGLE我的位置服务

53、PACKAGE_RHODIUM_S2_GPS_GMM

54、GOOGLE地图

55、PACKAGE_RHODIUM_S2_GroupEditor

群组编辑

56、PACKAGE_RHODIUM_S2_G_Sensor_Calibrator

重力调节

57、PACKAGE_RHODIUM_S2_HTCAnimation

开机动画

58、PACKAGE_RHODIUM_S2_HTCApplication

、HTC服务(车载、蓝牙?)

59、PACKAGE_RHODIUM_S2_HTCBirthday

生日提醒?

60、PACKAGE_RHODIUM_S2_HTCBookmark

收藏夹相关

61、PACKAGE_RHODIUM_S2_HTCFDN

固定拨号

62、PACKAGE_RHODIUM_S2_HTCFont_Link

字体映射

63、PACKAGE_RHODIUM_S2_HTCFramework

htc执行构架:

分支:仅用于htc的apps与可支持界面时间的增强版本(谢谢sundream说明)

、PACKAGE_RHODIUM_S2_HTCGeoService

我的位置服务

65、PACKAGE_RHODIUM_S2_HTCMessage

警告信息相关

66、PACKAGE_RHODIUM_S2_HTCMessaging_Client

HTC信息

67、PACKAGE_RHODIUM_S2_HTCScroll

滚动组件

68、PACKAGE_RHODIUM_S2_HTCSettings

蓝牙可见模式超时设置

69、PACKAGE_RHODIUM_S2_HTCStartUp

开机启动服务?

70、PACKAGE_RHODIUM_S2_HTCUtil

HTC电话服务?

71、PACKAGE_RHODIUM_S2_IE6Enhancement

IE6增强组件

72、PACKAGE_RHODIUM_S2_IME_CHS

HTC输入法

73、PACKAGE_RHODIUM_S2_IME_Tutorial

HTC输入法教程

74、PACKAGE_RHODIUM_S2_InvokeSIMMgr

SIM卡管理器

75、PACKAGE_RHODIUM_S2_Java_JblendPackage_2_1

JAVA模拟器

76、PACKAGE_RHODIUM_S2_JETCET_Print

蓝牙打印机

77、PACKAGE_RHODIUM_S2_LockScreenAppLauncher

锁屏

78、PACKAGE_RHODIUM_S2_LockstreamDRM

流媒体相关组件

78、PACKAGE_RHODIUM_S2_Long_Press_End_Key

长按结束键

79、PACKAGE_RHODIUM_S2_Manila_Calendar

马尼拉日历组件

80、PACKAGE_RHODIUM_S2_Manila_Core

马尼拉核心组件

81、PACKAGE_RHODIUM_S2_Manila_Home

马尼拉首页组件

82、PACKAGE_RHODIUM_S2_Manila_Internet

马尼拉网络组件

83、PACKAGE_RHODIUM_S2_Manila_Mail

马尼拉邮件组件

84、PACKAGE_RHODIUM_S2_Manila_Message

马尼拉信息组件

85、PACKAGE_RHODIUM_S2_Manila_Music

马尼拉音乐组件

86、PACKAGE_RHODIUM_S2_Manila_People

马尼拉联系人组件

87、PACKAGE_RHODIUM_S2_Manila_Photo

马尼拉相册与视频组件

88、PACKAGE_RHODIUM_S2_Manila_Settings

马尼拉设置组件

、PACKAGE_RHODIUM_S2_Manila_Stock

马尼拉股票组件

90、PACKAGE_RHODIUM_S2_Manila_Twitter

马尼拉Twitter组件

91、PACKAGE_RHODIUM_S2_Manila_Weather

马尼拉天气组件

92、PACKAGE_RHODIUM_S2_Media_Tool_kit

相册相关组件

93、PACKAGE_RHODIUM_S2_Menu_Enhancement

HTC增强菜单(大菜单)

94、PACKAGE_RHODIUM_S2_Message_Enhancement

信息增强组件

95、PACKAGE_RHODIUM_S2_mHub_VO

多媒体相关组件

96、PACKAGE_RHODIUM_S2_MicrophoneAGC

自动音量控制

97、PACKAGE_RHODIUM_S2_MP3_Trimmer

MP3剪辑器

98、PACKAGE_RHODIUM_S2_MS_

组件

99、PACKAGE_RHODIUM_S2_Mute

静音组件

100、PACKAGE_RHODIUM_S2_MyCPL

设置组件

101、PACKAGE_RHODIUM_S2_New_Contact_Card

联系人组件

102、PACKAGE_RHODIUM_S2_Notification_Enhancement

通知增强,里面的NTFConfig.dll模块与PRB不兼容,必须转换成文件形式,否则会死第一屏。转换方法:将NTFConfig.dll目录拖到tools\\RecMod.exe身上,NTFConfig.dll目录里就会产生一个NTFConfig.dll文件,将这个文件移到其他地方,删掉NTFConfig.dll目录再把NTFConfig.dll文件复制回OEM包里即可。

103、PACKAGE_RHODIUM_S2_OOBE

第一次开机演示

104、PACKAGE_RHODIUM_S2_Opera_Browser

OPERA OEM包

105、PACKAGE_RHODIUM_S2_PhoneSetting

电话设置

106、PACKAGE_RHODIUM_S2_Phone_Canvas_Enhancement

电话面板

107、PACKAGE_RHODIUM_S2_Picture_Enhancement

图片增强

108、PACKAGE_RHODIUM_S2_PKG

未知……

109、PACKAGE_RHODIUM_S2_Power

电源

110、PACKAGE_RHODIUM_S2_PowerOffWarning

长按关机键提示

111、PACKAGE_RHODIUM_S2_Quick_GPS

快速GPS

112、PACKAGE_RHODIUM_S2_Random_Access

联系人划选

113、PACKAGE_RHODIUM_S2_Redial

重拨

114、PACKAGE_RHODIUM_S2_Resource_Proxy

图片资源缓存(会占用很多内存)

115、PACKAGE_RHODIUM_S2_Ringtone_Plugin

铃声插件

116、PACKAGE_RHODIUM_S2_RSSHub

RSSHub OEM包

117、PACKAGE_RHODIUM_S2_RunCC

开机第一次运行的程序

118、PACKAGE_RHODIUM_S2_Sensor_SDK

重力SDK包

119、PACKAGE_RHODIUM_S2_Settings_Improvement

增强设置

120、PACKAGE_RHODIUM_S2_SharedResource

与HTCFramework配套组件

121、PACKAGE_RHODIUM_S2_Shared_Modules

振动等需要的共享组件

122、PACKAGE_RHODIUM_S2_SignatureReplace

123、PACKAGE_RHODIUM_S2_SimContactImport

导入 SIM 卡联系人

124、PACKAGE_RHODIUM_S2_SimLock

SIM卡锁定

125、PACKAGE_RHODIUM_S2_SIM_Mgr_hTC_Asia_WWE

SIM卡管理器

126、PACKAGE_RHODIUM_S2_SlidingSound

侧滑声音

127、PACKAGE_RHODIUM_S2_Social_Networks_Engine

账户管理

128、PACKAGE_RHODIUM_S2_StartIconLoader

马尼拉启动组件

129、PACKAGE_RHODIUM_S2_STK_Service

STK服务

130、PACKAGE_RHODIUM_S2_STK_UIPPC

STK相关组件

131、PACKAGE_RHODIUM_S2_StorageLow

存储器容量低警告

132、PACKAGE_RHODIUM_S2_Streaming_Media

流媒体播放

133、PACKAGE_RHODIUM_S2_Streaming_SDK

流媒体库

134、PACKAGE_RHODIUM_S2_TaskBarIconMgr

任务栏图标

135、PACKAGE_RHODIUM_S2_Teeter

重力球游戏

136、PACKAGE_RHODIUM_S2_Text_Selection

马尼拉信息文字复制选择

137、PACKAGE_RHODIUM_S2_TimeZoneAutoFix

自动对时

138、PACKAGE_RHODIUM_S2_TVOutPopUp

电视输出

139、PACKAGE_RHODIUM_S2_TVOutSetting

电视输出组件

140、PACKAGE_RHODIUM_S2_USB_To_PC_Pop_Up

USB TO PC组件

141、PACKAGE_RHODIUM_S2_USSD_Service

htc上通用的服务,具体有什么作用不清楚……

142、PACKAGE_RHODIUM_S2_VBookmarkMgr

书签?

143、PACKAGE_RHODIUM_S2_Video_Telephony

可视电视

144、PACKAGE_RHODIUM_S2_Voice_Recorder

录音机

145、PACKAGE_RHODIUM_S2_Volume_Control

音量控制

146、PACKAGE_RHODIUM_S2_Wi-FiWizard

Wi-Fi向导

147、PACKAGE_RHODIUM_S2_WiFiSettings

WiFi设置

148、PACKAGE_RHODIUM_S2_WLANSettings

无线网络设置

149、PACKAGE_RHODIUM_S2_

的OEM

150、PACKAGE_RHODIUM_S2_zlibce_m

解码组件,manila等部分媒体程序用到(谢谢sumdream说明)

151、ProjectDefault_A

文件夹图标

152、ProjectDefault_B

声音与墙纸

153、ProjectDefault_C

一些版本的注册表

基本就是这样,有错误的地方请大家指正。

第五章 OEM包制作

将我以前写的教程复制过来……(以前只在IVGA发过)

定制个人ROM时常常会加入自己所需要的软件吧,这样就需要这个软件的OEM包了,而OEM包可以使用别人做的,而如果这个软件没人做成OEM包的话就要自己做了。而且如果某个软件使用有问题,要想分析是不是OEM包的问题,也得有OEM包的相关知识,因此在这里我简单的说一下OEM包是如何制作的吧。

一、OEM包的结构

OEM包通常包含的文件如下:

1、DSM文件(必需):OEM必需的文件只有一个,就是DSM文件。而DSM的文件名必须是一串GUID码,这个GUID码可以用GUID码生成器来随机生成一个。这个文件可以是空文件,官方的之所以有内容,是因为含有该目录里的文件列表及签名。

2、RGU文件:这个是注册表文件,文件名必须和DSM一致才可以。首行必须为REGEDIT4,最后一行必须为空行,编码格式为UNICODE。

3、initflashfiles.txt,这个是复制文件用的,将OEM包里的文件复制到其他目录。我们只需掌握两种命令格式就可以了:

(1)创建目录:Directory(”源目录”):-Directory(”新建目录”)

例如:Directory(”\\Program Files”):-Directory(”PlumSIP61″)

代表在\\Program Files目录下新建一下PlumSIP61目录

(2)复制文件:Directory(”目标目录”):-File(”文件名”,”源目录文件”)

例如:Directory(”\\windows\\startup”):-File(”PlumStart6.lnk”,”\\Windows\\PlumStart6.lnk_1″)

代表将\\Windows\\PlumStart6.lnk_1这个文件复制到\\windows\\startup,并改名为PlumStart6.lnk

比较简单吧

4、option.xml,这个文件是提供信息给build os显示OEM包说明的,完整的比较长,我们可以简单点,只需基本的几句就可以了,如下是点讯6.1的option.xml:

点讯6.1.0008_by_pcg

22361577-db8d-4443-8a2a-02af017e7298

对应的说明:

鼠标放在该项时弹出来的说明(非必须)

这个OEM的GUID码

即:

第一第二行我们不需要改

第三行的Item name=”**XX”是显示在buildos里的文字,group=”**x”是分组,相同分组的OEM会在一起显示,后面的checked=”true”是默认勾选状态,其中true代表默认勾上,而false则是不勾选

第四行的**XX是鼠标放在该项时弹出来的说明,不要这个也不会有影响

第五行是这个OEM的GUID码,必须和DSM的GUID码一致才可以,否则build os可能无法开启

5、其余文件:OEM软件的文件

二、以绿色软件pim ppcbackup举例说明制作一个绿色软件的OEM包

1、这个软件是绿色软件,只有一个EXE文件,可以在任意目录运行,并且是没有注册表的,因此这个OEM包就很容易制作:

(1)在OEM目录下面新建一个目录,名字为ppcbackup2.8吧,直观点

(2)把PPCPimBackup.exe放在里面

(3)打开GUID生成器.exe,然后选择第一项“只生成DSM文件”,然后点击生成文件,这样就会在GUID生成器.exe的目录里生成一个DSM文件,68BE2663-A7BC-4ff7-B0A8-85B379A201EA.dsm,把这个DSM文件复制到ppcbackup2.8目录里

(4)新建一个快捷方式,后缀名是lnk,可以先新建一个txt文件,内容为:

#”\\Windows\\PPCPimBackup.exe”

然后再将txt改名为PIMbackup.lnk

可以看见快捷方式的格式很简单,前面是一个#,然后接着是引号括着的源文件的路径,因为OEM里的文件会全部放在windows里,所以快捷方式就要引到\\Windows\\PPCPimBackup.exe

(5)我们还在将快捷方式复制到开始菜单的程序里才可以,方便打开这个软件,我们总不能每次用这个软件都进入windows目录再打开PPCPimBackup.exe吧,新建一下initflashfiles.txt,内容如下:

Directory(”\\Windows\“开始”菜单\程序”):-File(”个人信息备份PimBackup.lnk”,”\\Windows\\pimbackup.lnk”)

(6)新建一个option.xml,内容如下:

IMBACKUP个人信息备份恢复工具2.8

68BE2663-A7BC-4ff7-B0A8-85B379A201EA

2、这样一个绿色软件pimbackup的OEM包就建立完毕,比较简单吧,打开build os就可以看见有pimbackup这个OEM包了,弄好ROM刷了之后,在开始/程序就可以看见个人信息备份PimBackup,点击打开试试吧

三、以google map简体CAB安装包为例做个OEM软件

1、去google网站下载个简体的cab安装包回来

2、用WinCE CAB Manager3.0打开这个CAB包,可以看见里面有4个文件、1个快捷方式及15项注册表其中3个文件是在%CE1%\\ChinaGoogleMaps,还有一个strings-all.zlb是在%CE19%\\ChinaGoogleMaps,WinCE CAB Manager的帮助有关于%CEX%代表着什么目录,其中%CE1%是\\Program Files,%CE19%是\\Application Data

3、因此我们可以将这4个文件解出来,然后再导出注册表,再用initflashfiles.txt将这4个文件复制到相关目录,然后再复制一个快捷方式到开始/程序里就OK了

4、不过我们试一下更简单的方法,就是使用cab转oem包软件package-creator-v2.7

5、这个软件的使用很简单,打开软件,点击open cab file,选择GoogleMaps_compressed.CAB,然后过一会儿package-creator-v2.7就会弹出done的窗口,然后你就可以发现package-creator-v2.7目录下有个GoogleMaps_compressed的目录,这个就是GoogleMaps_compressed的OEM包了,DSM、RGU、option.xml、initflashfiles.txt全都有,很简单吧

6、不过我们还要打开initflashfiles.txt看看有要修正的不。

Directory(”\\Windows”):-Directory(”开始”菜单)

Directory(”\\Windows\”开始”菜单”):-Directory(”程序”)

Directory(”\\Windows\”开始”菜单\程序”):-File(”China Google Maps.lnk”,”\\Windows\\China Google Maps.lnk”)

其中第一第二行我们删掉,因为本来就是有\\windows\“开始”菜单\程序这个目录的,所以不用新建。其余没什么。

最后我们修改一下option.xml,将GoogleMaps_compressed改成GoogleMaps简体2.2.1.4,要不然在build os里我们很容易搞混,呵呵

7、这样子不OK了,使用这个软件可以很快捷的制作到OEM包来,不过我们记住做好后要查看一下有没有错误哦

四、最后以一个比较复杂的点讯6.1的CAB做成OEM包吧

1、去官方网下载6.1.0008的安装包

2、用package-creator-v2.7打开点讯CAB包,然后会生成PlumSIP Pro VGA V6_1_0008目录

3、不过这次可没这么简单,因为点讯6.1含有三个皮肤,即钻石皮肤、横屏钻石皮肤、以前的默认皮肤,而这三个皮肤的文件名是一样的,用package-creator-v2.7转换的话只会留下一个同名文件,其余的应该被覆盖了。另外键盘定义文件也有两套4个是同名的

4、因此这次我们不能偷懒了……我们用WinCE CAB Manager打开点讯的CAB包,点击一下排序栏的“位置”进行安装目录排序,我们先把%CE1%\\PlumSIP61\\skin\\Diamond里的文件解压出来,然后将这样文件的后缀名都加个_,如将改成

5、我们再把%CE1%\\PlumSIP61\\skinw\\Diamond的文件解压出来,这次都在后面加上_2来区别

6、再将%CE1%\\PlumSIP61\\skin\\Normal的文件解压出来,因为前面两个皮肤都改名了,所以这个就不用改名了

7、还有键盘定义文件也有两套,我们将%CE1%\\PlumSIP61\\skink\\hotkey的4个文件解压出来,后面加上个_区别一下吧

8、再将%CE1%\\PlumSIP61\\skink\\NumSel里的4个文件解压出来,这个就不用改名了

9、好了,这样所有文件都齐了,我们修改一下initflashfiles.txt,将刚才改名的文件一一在initflashfiles.txt对应修改,如原本的:

Directory(”\\Program Files\\PlumSIP61\\skin\\Diamond”):-File(”bh.ini”,”\\Windows\\bh.ini”)

改成:、

Directory(”\\Program Files\\PlumSIP61\\skin\\Diamond”):-File(”bh.ini”,”\\Windows\\bh.ini_”)

即只需将最后的\\Windows\\bh.ini改成\\Windows\\bh.ini_

10、难道这样就OK了吗?不,这样订制进去的话不是默认输入法的哦……点讯的默认输入法实现方法是在\\windows\\startup目录建个快捷方式,每次开机时会将点讯设成默认输入法的

11、而CAB包里有个setup.dll这个安装库文件,我不懂编程,所以不知道这个文件具体都有什么用,不过据我的推荐,这个文件有两个作用,1、是CAB安装完成时将PlumStart6这个文件改名为PlumStart6.lnk复制到\\windows\\startup,并提示是否重启;2、是将输入法由PlumSIP 6.1改名为点讯输入 6.1。

12、因此,我们先将PlumStart6改名为PlumStart6.lnk,可以打开这个快捷方式看一下,可以看见内容是(40#”\\Program Files\\PlumSIP61\\PlumStart6.exe”),证明确实是个快捷方式来的

13、然后在initflashfiles.txt里加入一句:

Directory(”\\windows\\startup”):-File(”PlumStart6.lnk”,”\\Windows\\PlumStart6.lnk”)

14、然后将RGU里的:

[HKEY_CLASSES_ROOT\\CLSID\\{7DA6EDD4-0FBB-4ed0-BAB8-63F45FF9B5}]

“default”=”PlumSIP 6.1″

改成:

[HKEY_CLASSES_ROOT\\CLSID\\{7DA6EDD4-0FBB-4ed0-BAB8-63F45FF9B5}]

“default”=”点讯输入 6.1″

这样就OK了~~~

15、不过点讯6.1默认是不开启键盘输入的,我们修改下一下使默认就是支持键盘的吧,人性化一点,呵呵。打开RGU文件,将:

[HKEY_CLASSES_ROOT\\CLSID\\{7DA6EDD4-0FBB-4ed0-BAB8-63F45FF9B5}\\Option]

“useKey”=”0″

由0改成1就OK了,这项就是是否支持键盘的注册表

16、完成~~~

五、EXT包与OEM包的区别

EXT包的制作比OEM包要简单些,因为EXT包是不需要DSM的,而且REG的格式要求也比RGU的低。

基本结构如下:

EXT OEM包

    |

    |–app.reg(注册表,支持Unicode和ANSI,最后无需空行)

    |–app.dat(和initflashfiles.txt一样,复制文件用)

    |–\\files\(files目录,放置OEM包文件)

    |–\\0804\(语言包目录,放置相应语言的MUI及)

         |–app.reg(语言包注册表)

         |–app.dat(语言包复制文件)

只是目录结构及注册表、复制文件不同而已,现在也有不少工具可以将EXT和OEM相互转换的。

第六章 添加必需OEM包及注册表优化

1、字体OEM包

如果之前在SYS里删掉了新宋体的字体,以及OEM包里的粗黑字体,那我们必须加上一个自己喜欢的字体,否则系统会显示不出中文的。我比较喜欢雅黑5.0,这个是完全不会出界的字体。

2、注册表优化

我们还可以修改注册表,调整一些细节,以下是我的优化注册表,可以放在最后的目录里,以便覆盖前面的注册表。

文档

手机ROM制作教程

第零章前言包括ROM的制作、汉化、优化、celecmd、mortscrtip、马尼拉基本修改等等。第一章模板与ROM的简略说明我们升级手机系统,是下载一个ROM,再通过电脑刷进手机或者直接复制到手机存储卡里卡刷进去。那么一个ROM是怎样制作出来的呢?最方便的方法莫过于使用模板制作了。而模板是什么呢?又是怎样来的呢?英文里制作ROM叫做cookrom,为什么这样叫呢?顾名思义,就是一个ROM其实是煮出来的。如果我们已经有了一个模板,那么制作出一个ROM对于我们来说,其实就相当于跟煮饭、炒菜一样简
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top