Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3037221
  • 博文数量: 674
  • 博客积分: 17881
  • 博客等级: 上将
  • 技术积分: 4849
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 10:15
文章分类

全部博文(674)

文章存档

2013年(34)

2012年(146)

2011年(197)

2010年(297)

分类: LINUX

2013-01-07 11:36:04

三、制作工具
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 包含以下:
 
  
文件列表
  
  
文件大小
  
  
文件说明
  
  
其他说明
  
  
android-info.txt
  
  
85 字节
  
  
ROM版本及刷写配置信息
  
  
boot.img
  
  
2342912 字节
  
  
手机启动的必要系统(Linux内核)
  
  
Linux内核
  
  
hboot_7227_0.43.0001_100218.nb0
  
  
524288 字节
  
  
bootloader
  
  
需要金卡就是因为这个东西吧?刷错一定变砖
  
  
radio.img
  
  
24379392 字节
  
  
无线通讯模块(包括电话、WIFI、蓝牙)
  
  
最新的不一定是最好的。要和hboot匹配?
  
  
rcdata.img
  
  
41 字节
  
  
脚本资源
  
  
刷机时使用的脚本
  
  
recovery.img
  
  
3532800 字节
  
  
刷写 Recovery 模式(包含硬件底层驱动)
  
  
恢复出厂设置、OTA升级补丁升级、Firmware升级
  
  
splash1.nb0
  
  
393216 字节
  
  
开机第一屏
  
  
替换此文件可以修改开机第一屏
  
  
system.img
  
  
224364096 字节
  
  
系统核心(应该是主要修改此文件)
  
  
我们主要定制此部分的
  
  
userdata.img
  
  
2112 字节
  
  
用户的设置
  
  
看起来应该是初始化用户数据
  

至此,已获得官方 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
阅读(1479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~