三、制作工具
1.jdk1.7.0:(115网盘)
安装,配置jdk1.7.0:
执行jdk安装程序,自定义路径,我的安装路径为:C:\ProgramFiles\Java\jdk1.7.0(根据个人的具体路径)
配置jdk:配置环境变量:
Win7下为:计算机->属性->高级系统设置->环境变量->系统变量中添加以下环境变量:
JAVA_HOME= C:\Program Files\Java\jdk1.7.0(根据自己的路径修改)
CLASSPATH=
.;C:\Program Files\Java\jdk1.7.0\lib\tools.jar;C:\Program Files\Java\jdk1.7.0\lib\dt.jar
path= C:\Program Files\Java\jdk1.7.0\bin;
写一个简单的java程序来测试jdk是否已安装成功:
public class hello
{
public static void main(String args[])
{
System.out.println("Hello");
}
}
将程序保存为文件名为hello.java的文件。
打开命令提示符窗口,进入到hello.java所在目录,键入下面的命令
javac hello.java
java hello
此时若打出来hello则安装成功,若没有打印出这句话,仔细检查以上配置是否正确。
注意系统文件夹选项中应确定“隐藏已知文件类型的扩展名”不勾选。
2.apktool工具箱(115网盘)
可以解压放到你的cmd默认目录下,这样就不用每次都那么麻烦进入工具:
比如我的默认目录为C:\Users\users,我就把解压出来的所有文件包括:aapt.exe,apktool.bat,apktool.jar放到这个文件夹下,具体的应用自己解决。
简单应用举例:主要是在美化时用到。
①
apktoold "C:\framework-res.apk" "C:\framework”
命令行解释:apktool d 要反编译的文件输出文件夹
我们可以看到一个叫做res的目录,打开后看到一堆目录,所有的程序界面资源就放在这个res目录里面,我们这里简单的介绍一下这些目录对应的作用。
drawable,这个目录是放程序需要用到的图标以及各种图片的
layout-land,这个目录是放竖版界面的xml描述文件的
layout-port,这个目录是放横版界面的xml描述文件的
menu,这个顾名思义,就是放菜单布局的xml描述文件的
values,这个目录是汉化重头戏,绝大部分需要汉化的字符串资源定义就在这里面
xml,其他不再详细分类的布局xml描述文件
一个写的很规范的Android程序,会把整个程序里面所用到的字符串资源都分离出来,放在values的strings.xml文件里面,而放在values目录的,基本上就是英文字符串资源。而一般的程序在处理字符串资源上都是交给Android系统去判断是什么环境,从而自己选择语言的
②
apktool b"C:\framework"
命令行解释:apktool b 要打包内容所在文件夹
3.UltraEdit:用于编写代码的好软件.(在115网盘)
4.核心软件:厨房(115网盘)
①为厨房安装 Cygwin 的步骤
1) 1) 解压下载到的压缩包(比如解压到C盘,解压出来的东西包括:包的文件夹c:\cygwin_packages、安装程序c:\setup.exe、文档c:\安装说明.txt),记得路径中不要带中文,最好也不要带空格。
2) 运行 Setup.exe,
然后点击 Next (下一步)。
3) 选择"Install from Local Directory,"
4) 接下来,指定根目录。也就是你想要安装 Cygwin 的位置(但不能是本压缩包解压出来的 cygwin_packages 文件夹)。如果你喜欢,可以是 C:\Cygwin,注意要确定文件夹名种没有空格。
5) 然后,要指定的Local Package Directory 必须指定为 cygwin_packages 文件夹所在路径,例如 C:\cygwin_packages假如跳出了一个警告对话框,点击确定(是)。
6) 当安装程序显示出所有的包名时,点击更改上方的 "All <-> Default" 为"All <-> Install" (需要点击那个箭头)
7) 然后点击 Next,安装程序就会为你安装好 android Kitchen 需要 Cygwin 提供的一切支持
8) 最后,点击桌面上的Cygwin 快捷方式以便为你创建 home 文件夹。搞定!
本 Cygwin 安装包中包含了以下的包,这些都是厨房正常工作所需要的:* Devel /gcc * Interpreters / perl
* Utils / cpio
* Utils / util-linux* Utils / ncurses *Archive / zip* Archive / unzip * Web / wget
②如何开始使用ROM组专用定制工具:
1) 完成上面的步骤后,将下载到ROM组专用定制工具解压到G:\Cygwin\home\Administrator文件夹中(这里假设你的Cygwin是安装在C盘根目录下,而且你电脑的用户名为Administrator。具体请根据各自的设置进行变通)。
2) 点击桌面上的 Cygwin 快捷方式
3) 执行命令:cd android_Kitchen
4) 执行命令:./menu
OK,剩下的事情就靠你自己自由发挥了。
PS:一个小技巧,使用用文本编辑器(例如EmEditor,不建议使用系统自带的记事本程序)打开C:\Cygwin\home\Administrator\.bashrc,在最后面添加以下两行。
cd android_Kitchen/
./menu
这样做的好处是,一旦你点击了桌面上的 Cygwin 快捷方式,就会直接进入厨房界面了。
5.ROM提取工具
HTC:本人没有用过HTC的手机,这只是网上找的一篇文章以作参考,具体的还请自己尝试吧。
第一步:下载官方RUU刷机程序(EXE文件)
第二步:运行您已经下载的RUU刷机程序RUU_Legend_hTC_Asia_TW_1.31.709.2_Radio_47.26.35.04_7.05.35.26L_release_122023_signed)
第三步:打开用户临时文件目录:
以xp为例:C:\Documentsand Settings\Administrator\Local Settings\Temp(系统默认,Administrator为您登录xp的用户名,如果您修改了用户变量,则到您修改的目录,例如我的是:D:\Temp\Temp)
第三步:查找类似 {2EA82A29-B9B5-4A60-BB4F-B52F1BCD2E68}
(每次打开都不同,建议查看文件夹创建时间就知道)的文件夹并打开
第四步:进入刚刚打开的刷机临时目录,打开该目录下的唯一文件夹。(例如我的是:{50F2F878-636A-496F-A7CB-544C067E0C4B})
第五步:复制该文件夹下的 Rom.zip
压缩文件,该文件即为官方原版ROM,该文件大小:135173407字节(以RUU_Legend_hTC_Asia_TW_1.31.709.2_Radio_47.26.35.04_7.05.35.26L_release_122023_signed
版本为例);该 ROM 包含以下:
至此,已获得官方 RUU 原版ROM
根据我的理解,boot.img radio.img recovery.img splash1.nb0system.img 应该可以单刷的,我们定制 rom 主要修改 system.img。
首先运行要提取的官方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程序了。提取完成。
摩托:
①
运行解SBF包工具MotoAndroidDepacker.exe程序
②
选择Open From File,找到你存放的SBF刷机包
③
选择Split To Folder,进行刷机包拆解过程
④
拆解完成,关闭软件,得到如下文件。
一般来说需要修改CG35.smg----boot.img,CG39.smg-----system.img, CG45.smg----radio.img,锁了bl的只需CG39.smg和CG45.img(如果需要切换基带)
如下是一个典型SBF 文件
拆开之后的构成(uk3.4.3)
每个smg本身都有签名, 不签名不能刷, 多半都有自己的版本号
CG31.smg 18,432 版本 4
CG31/CDT是描述各文件版本号的, 相当于注释文件
CG32.smg 133,120 版本 1
CG33.smg 14,419,968 版本 1
CG33/CDROM是个ISO文件, 可以用WinRAR之类的打开, 包含PC端程序(MotoHelperAgent)
CG34.smg 18,432 版本 1
/usr/data_resource,CG34应该说是皮肤铃声包,一些软件的信息和收藏夹的设置在这里面
CG35.smg 8,388,608 版本 2
CG35/Boot包含了
系统
内核<-8.3MB的boot-only就是这个
/ezx_user
CG39.smg 342,624,256 版本 4
CG39/system分区
就是恢复包中
的 system.img
CG40.smg
cache缓存分区(国行多余的部分), 显然里面什么都没有
CG42.smg 262,144
CG45.smg 3,147,776 版本 0
CG45/Baseband基带固件
CG47.smg 8,388,608 版本 2
CG47/Recovery就是
官方
恢复, 里面也包含独立的内核, 但不用于启动
CG53.smg 2,048
CG61.smg 524,288 版本 1
CG61/devtree包含设备描述符
CG64.smg 18,432 版本 1
CG65.smg 18,432 版本 1
RAMDLD.smg 315,392
RAMDLD/RamDisk&tmpfs, Android/Linux启动初始化的一部分, 不涉及具体设备
每次不可降级的升级中CG31和CG39版本都会升高
(2.21/国行=2,2.51=3, 3.4.x=4)
而国行1.11和uk3.4.3-3不同的文件(md5值校验)如下
而CG39就是个EXT3的文件系统镜像, 其内容和镜像版的system.img(yaffs2文件系统)完全一致, 可以直接从CG39创建system.img
此时,你可以把CG39.smg重新命名为system.img(可能有些小问题,或者进一步提取)
⑤运行yaffs2img浏览器20.exe程序
⑥
选择
打开
选择 CG39.smg 点击
打开
⑦
接下来,你可以选择
全部导出
也可以只提取你想要了文件就OK了
⑧
接下来把你提取出来的东西放到厨房工作文件夹下,也可开始制作。
工具打包下载:
手机开发.rar