android rom 修改订制 rom 解包 压包

来源:互联网 发布:node.js文档 编辑:程序博客网 时间:2024/05/15 03:32

1.准备工具     原厂给过来的rom 分为3个文件:boot.img   recovery.img system.img      这三个文件需要通过 fastboot 这个软件烧写,过程: 先在PC 上安装驱动,然后手机进去下载模式(不是recovery界面),然后打开 fastboot 烧写,  
d: cd fastboot fastboot flash boot boot.img fastboot flash recovery recovery.imgfastboot flash system system.imgfastboot reboot


2.通过安智网 厨房工具 解包 system.img
   详情参考 :安装厨房工具教程  http://bbs.anzhi.com/thread-4883812-1-1.html 
                         厨房工具教程教程  http://bbs.anzhi.com/thread-4926119-1-1.html

3.xx.zip 刷机包 编译成system.img 

    通过厨房工具生成的刷机包是 xx.zip 格式的,可以通过sd 卡刷机,但是方案商没有给出可以卡刷得recovery,所以还需要把xx.zip 格式的刷机包编译成 system.img

    a.先在虚拟机中安装ubuntu  linux 系统
    b现在开始做ROM

1、例如 我 在ROOT 文件里面建立一个文件夹  命名为 AND  把 unyaffs 和mkyaffs2image  放到里面
接着又在 AND 文件夹下面建立一个 system  【这文件夹 用来放 分解得到的文件】
分解方法
把终端定位到所要解压到的目录 cd /root/and然后打命令/root/and/unyaffs system.img
分解得到的所有文件 放到刚刚建立的 system文件下面 【除 unyaffs 和mkyaffs2image、system.img外】
分解出来后,你就可以开始XXOO它了【跟你把MM 的衣服脱掉,然后XXOO擦不多】
XXOO玩后总得把人家衣服穿上去把

下面执行合成 命令
/root/and/mkyaffs2image -f /root/and/system Newsystem.img
开始打包  (如果ROM中存在zImage,intrd.gz不需要-f)

最后合成得到 Newsystem.img 这就新ROm


4. 开机动画 关机动画 都在 media 下 还有 开关声音 直接替换 就可以了 

 关机音乐的位置是
\system\media\audio\ui\shutdown.ogg              开头字母是小写字母

开机音乐在
\system\etc\PowerOn.wav

开机动画
   system\media\bootanimation.zip      开机画面文件是:bootanimation.zip


5.设置开机语言

ro.product.locale.language=zh                                                                                   刷机后默认语言
ro.product.locale.region=CN                                                                                      刷机后启动的默认语言


6.修改apk 文件名 和图标
见 http://bbs.anzhi.com/forum.php?mod=viewthread&tid=4806424

 

7.修改状态栏电池图标

http://bbs.anzhi.com/forum.php?mod=viewthread&tid=3425246

 

8.添加快捷开关

   主要是修改 sytemUI.apk 

    systemui.apk 反编译 需要添加 framework-res.apk 框架 

    在apktool 工具目录中 添加framework-res.apk   运行 apktool if framework-res.apk  框架就添加好了  其余反编译 编译就正常

      最后 在回编译的 systemui.apk 不能直接用,要用winrar 把修改的文件拖入原来 systemui.apk 中(systemui.apk 不能重新签名)

    其余修改方法参考 : http://www.angeeks.com/thread-2085661-1-1.html

 

9.禁止usb debug 通知栏显示

  主要修改 /system/framwork/services.jar 文件

  需要用到 smali 和 baksmali 工具 下载地址:http://code.google.com/p/smali/downloads/list

  先用winrar 解压 services.jar 得到 classes.dex

 java -jar baksmali.jar -x classes.dex   (反编译)

 然后修改 \out\com\android\server 下 NotificationManagerService.smali 文件

 

iput v7, v6, Landroid/app/Notification;->icon:I

修改成

 

#iput v7, v6, Landroid/app/Notification;->icon:I

 然后回编译 

  java -Xmx512M -jar smali.jar out -o classes.dex

 

然后把新编译成的 classes.dex 替换 services.jar 中 classes.dex  即可

 

10. 修改setting.apk  默认usb debug 模式开启

  在 /system/app中 找到 setting.apk  反编译

  用apktool 时需要加载框架 framework-res.apk

 可以参考教程 :http://bbs.anzhi.com/forum.php?mod=viewthread&tid=6157613

   修改 Settings.apk\smali\com\android\settings\ DevelopmentSettings.smali

const-string v2, "adb_enabled"    invoke-static {v1, v2, v3}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I    move-result v1    if-eqz v1, :cond_0    move v1, v4    :goto_0    invoke-virtual {v0, v1}, Landroid/preference/CheckBoxPreference;->setChecked(Z)V

最下面一行 是设置 默认为打开usb debug

 

11. 修改手机名

\system\build.prop 
里面model=Mione_plus  改成你想改的手机型号 如Sensation
里面manufacturer=Xiaomi 改成你机型对应的厂商 如HTC

 12. 修改时区

时区
默认时区。在/system/default.prop中修改persist.sys.timezone(如果没有该项,则手动添加)的值为Asia/Shanghai(即东八区),即 
persist.sys.timezone=Asia/Shanghai 
注:如果没有/system/default.prop,也可以在/system/build.prop中修改或添加。

 


原创粉丝点击