liuzhibin / 玩转手机 / ROM定制基础教程

0 0

   

ROM定制基础教程

2012-07-11  liuzhibin

准备工作:
工具准备(本教程中使用的是0.2版,目前厨房版本已更新): http://bbs.xda.cn/thread-7698020-1-1.html
Windows下安装工具的教程: http://bbs.goapk.com/thread-37975-1-1.html
本教程不涉及如何安装“GoAPK安智网ROM组专用定制工具”,请在按教程将工具安装完成后再参阅本教程。本教程将以默认的路径为基础,具体到路径时请根据自己的实际情况调整。(XP和Win 7下均可参阅本教程,Linux环境亦可作为参考)

由于我自己手机可用的机器是G8,所以本教程以G8作为目标机器。要作为原始修改的ROM为官方2.2:RUU_Buzz_Froyo_HTC_WWE_2.22.405.1_Radio_13.55.55.24H_3.35.20.10_release_160191_signed

 

第一步:提取ROM。(如果不是官方的RUU,而是其他ROM制作者发布的zip格式ROM,那么此步可以略过)
参考教程: http://bbs.xda.cn/forum.php?mod= ... =7698332&extra=
我简单的说说。
首先运行要提取的官方RUU程序,本教程中就是RUU_Buzz_Froyo_HTC_WWE_2.22.405.1_Radio_13.55.55.24H_3.35.20.10_release_160191_signed.exe。这个时候手机无需连接上电脑(连接与否和提取没有关系),等待exe执行到出现第一个提示界面。运行任务管理器,点“进程”标签,找到adb.exe,在其上右键,选择“打开所在目录”。将打开的目录中的rom.zip复制出来,然后可以关闭官方RUU程序了。提取完成。
    1.jpg 2.png 
第二步:解压待修改ROM。
rom.zip中的system.imgboot.img解压出来,如果需要在刷机时同时刷入radio.img,则把radio.img也解压出来。将文件(如果是修改其他制作者的ROM,文件则为*.zip,比如buzz_2.2_1.2-Beta2_goapk.zip)放到以下文件夹中(根据个人安装的位置决定,不再累述):C:\Cygwin\home\<用户名>\GoAPK_Kitchen\original_update

3.png 
第三步:修改ROM。
    1、运行厨房。双击执行桌面上的Cygwin快捷方式(也可以双击执行C:\Cygwin\Cygwin.bat),输入命令:

  1. cd GoAPK_Kitchen
  2. ./menu
复制代码

至此,厨房已成功运行。
4.jpg 

    2、解压待修改的ROM。选择厨房的第1项“1 - 分解 ROM 包到工作目录中”,然后根据情况的不同,选择对应的ROM。解压得到的文件位于以下文件夹中:C:\Cygwin\home\<用户名>\GoAPK_Kitchen\WORKING_<日期>_<时间>
5.jpg 

    3、添加常用功能支持。厨房提供了多种常用的功能,请根据个人的喜好进行选选择。此步不做具体解释,厨房中每个功能基本都有相应的解释,请仔细查看。
    4、去除不需要的apk。如果想要精简掉ROM中的某个不需要的软件,则删除对应的apk(如有同名的odex文件,也将其删除)即可。譬如,我要去掉YouTube,则删除YouTube.apk,又想要去掉世界时钟,则删除了WorldClock.apk和WorldClock.odex。
      注意:不要删除系统将要用到以及一些你尚且不知道是做何用的apk文件,否则,有可能引起一些意料之外的问题。
    5、集成apk。相关教程: http://bbs.xda.cn/forum.php?mod= ... p;extra=#pid6444513
        5.1、普通apk文件的集成很容易,将要集成的apk放置到/system/app(刷机后不可卸载)或/data/app(刷机后可以正常卸载)中即可。注意文件名不能有中文,同时,避免出现特殊字符。
       5.2、集成输入法等带有so库的apk程序。以搜狗输入法为例。需要在将apk放置到/system/app的同时将包中的so库提取出来,放至/system/lib文件夹中(不要对原apk做修改,仅提取)。
6.jpg 

    6、集成apn自动设置。将帖子 http://bbs.xda.cn/thread-5875547-1-1.html中的附件apns-conf.rar解压,覆盖/system/etc下的同名文件即可。
    7、修改开机动画。开机动画即为bootanimation.zip,具体位置为/system/customize/resource文件夹中。
        开机动画格式参考资料:
动画是由系列图片连续刷屏实现的。
bootanimation.zip文件是zip压缩文件,压缩方式要求是存储压缩,包含一个文件和两个目录:
    1.动画属性描述文件:desc.txt
    2.动画图片目录:android
desc.txt文件分析:
    240  320   15
     宽   高    帧数
      p         1              1       android
    标志符 循环次数 阶段切换间隔时间  对应目录名
    ==================
    标志符:
        必须是: p
    循环次数:
        1 : 表示本阶段循环一次,如为0,则无限循环,直到开机
    阶段切换间隔时间:
        单位是一个帧的持续时间,比如帧数是15,那么帧的持续时间就是1秒/15 = 66.6毫秒。
        阶段切换间隔时间期间开机动画进程进入休眠,把CPU时间让给初始化系统使用。
        也就是间隔长启动会快,但会影响动画效果。
android目录内包含的是两个动画的系列图片,图片为PNG格式。
系列图片文件的加载刷新按文件名的名称排序。

8、默认中文。修改三个文件:1、/system/build.prop;2、/system/customize/CID/default.xml;3、/system/customize/MNS/default.xml
        1、修改ro.product.locale.languagero.product.locale.region。(此处修改的是系统的默认显示语言)

  1. ro.product.locale.language=zh
  2. ro.product.locale.region=CN
复制代码

2、修改以下代码。这里我仅保留了简繁体和英文。(此处修改的是可供选择的语言)

  1. <module name="locale">
  2.   <function>
  3.     <set name="single">
  4.       <item name="total_list">en_AT;en_CH;en_DE;en_ES;en_FR;en_GB;en_GR;en_IT;en_NL;en_PT;en_RU;en_NO;en_DK;en_SE;en_FI;en_CZ;en_PL;en_RO;en_HU;en_SK;en_ZA;en_IL;en_IE;en_LV;en_EE;en_LT;en_LU;en_UA;fr_AT;fr_CH;fr_DE;fr_ES;fr_FR;fr_GB;fr_IE;fr_NL;fr_PT;fr_ZA;fr_IT;fr_IL;fr_LU;it_AT;it_CH;it_DE;it_GB;it_IE;it_IT;it_IL;es_ES;es_GB;es_IE;es_IL;es_PT;nl_NL;nl_LU;de_AT;de_CH;de_DE;de_ES;de_NL;de_IT;de_LU;de_PT;el_GR;pt_ES;pt_PT;pt_ZA;nb_NO;nb_DK;nb_SE;nb_FI;da_NO;da_DK;da_SE;da_FI;sv_NO;sv_DK;sv_SE;sv_FI;cs_CZ;cs_PL;cs_RO;cs_HU;cs_SK;cs_LV;cs_EE;cs_LT;pl_CZ;pl_PL;pl_RO;pl_HU;pl_SK;pl_LV;pl_EE;pl_LT;ru_CZ;ru_PL;ru_RO;ru_HU;ru_SK;ru_RU;ru_LV;ru_EE;ru_LT;ru_UA;fi_DK;fi_FI;fi_NO;fi_SE;</item>
  5.       <item type="boolean" name="en_AT">yes</item>
  6.       <item type="boolean" name="en_CH">yes</item>
  7.       <item type="boolean" name="en_DE">yes</item>
  8.       <item type="boolean" name="en_ES">yes</item>
  9.       <item type="boolean" name="en_FR">yes</item>
  10.       <item type="boolean" name="en_GB">yes</item>
  11.       ...
  12.     </set>
  13.   </function>
  14. </module>
复制代码

修改为:

  1. <module name="locale">
  2.   <function>
  3.     <set name="single">
  4.       <item name="total_list">en_GB;zh_CN;zh_TW;</item>
  5.       <item type="boolean" name="en_GB">yes</item>
  6.       <item type="boolean" name="zh_CN">yes</item>
  7.       <item type="boolean" name="zh_TW">yes</item>
  8.     </set>
  9.   </function>
  10. </module>
复制代码

3、修改以下代码。(此处修改的是默认选中的语言)

  1. <module name="defaultLocale">
  2.   <function>
  3.     <set name="single">
  4.       <item name="auto_detect">false</item>
  5.       <item name="defeault">en_GB</item>
  6.     </set>
  7.   </function>
  8. </module>
复制代码

修改为(简体中文):

  1. <module name="defaultLocale">
  2.   <function>
  3.     <set name="single">
  4.       <item name="auto_detect">false</item>
  5.       <item name="defeault">zh_CN</item>
  6.     </set>
  7.   </function>
  8. </module>
复制代码

9、默认时区。/system/default.prop中修改persist.sys.timezone(如果没有该项,则手动添加)的值为Asia/Shanghai(即东八区),即

  1. persist.sys.timezone=Asia/Shanghai
复制代码

注:如果没有/system/default.prop,也可以在/system/build.prop中修改或添加。
    10、修改版本号。厨房提供了一个功能方便修改,也可以手动打开build.prop进行修改。
    会显示在关于界面中的几个属性(示例):

  1. Android 版本:ro.build.version.release=2.2.1
  2. 内部版本号   :ro.build.description=buzz_2.2_v1.2-Beta2_GoAPK
  3. 软件版本     :ro.product.version=buzz_2.2_大星星_v1.2-Beta2_GoAPK
复制代码

第四步:打包ROM。
在厨房中输入99,即为打包并为ROM签名。得到的ROM将输出到C:\Cygwin\home\<用户名>\GoAPK_Kitchen\OUTPUT_ZIP
第五步:测试。
刷入手机中,测试是否合意即可,不做说明。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章
    喜欢该文的人也喜欢 更多

    ×
    ×