分享到:
发表于 2014-07-23 01:17:57 楼主 | |
hyblyn 把此帖设为精华,作者+50经验原来是这样!!
大多数玩android的都知道刷机,知道找各种ROM,但并不是都知道怎么做出来。今天我就给大家写一下如何定制我们自己的ROM,或许你会说怎么不讲移植?我玩了三年android,刷机无数,但最终都会有这样那样的不如意而换回官方,不论是拼包还是patchrom,完美的极少。而且每个机型有每个移植的方案,各不相同。另外我本人也不是移植高手,怕误导了大家。所以今天只说官方自定制。大家都知道,Android系统就是由linux系统而来,但是在Linux并不是很容易快速掌握,所以本教程是教初学者在Windows下进行定制,要定制ROM必须先给自己的电脑搭建好JAVA环境和厨房工具,接下来我就以龙酷X战神的4.4.2官方包为例子做个自定制包吧。 一:准备ROM定制工具: 1.JAVA环境 如果是XP系统,建议下载这个1.6.0_26版本:http://pan.baidu.com/s/1nt6wQMX 会自动安装环境变量,十分方便。 或者下载最新版本也可以(并不是越新越好哦,1.6.0版本是android兼容最好的) 官方最新版载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html JAVA环境区分个人电脑系统版本,请下载时候注意版本,我的是win7 x64,所以下载的最后那个 2.厨房 v 0.266汉化版已集成cywin http://pan.baidu.com/s/1sjnXR69 二:JAVA环境搭建:
2.配置JAVA环境。 依次点击:“我的电脑”-(右键)“属性”-“高级系统设置”-“环境变量”,弹出Windows的“环境变量”配置卡。 在“系统变量”栏下执行三项操作: ①新建“JAVA_HOME”,设置其值为 JDK所在的绝对路径。 ②新建“CLASSPATH”设置其值为 .;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar (第一个分号前面有个点表示当前路径!) ③修改“Path”增加值为 %JAVA_HOME%bin;%JAVA_HOME%jrebin 记得要用(;)和前面的内容分开,如果有新的系统变量也应该在后尾加(;) 3. 检查JAVA环境是否搭建成功? win + R----输入cmd----回车,此时弹出一个对话框,打开windows下命令终端。 在里面输入javac---回车,如果搭建成功就会弹出许多的JAVA帮助信息(如下图), 如果提示javac不是内部或者外部命令,说明你在JAVA环境搭建过程中出了错误,需要卸载JDK程序,重启电脑后,仔细阅读教程重新搭建JAVA环境 前面的所有步骤都是准备工作,想要在windows下定制ROM,前面的三步是前提,那么最后的就是ROM定制工具的安装和使用了。 ROM定制工具全称“dsixda's Android Kitchen ”简称厨房. 国外原帖地址:http://forum.xda-developers.com/showthread.php?t=633246 国内大部分定制工具都是源自dsixda理念或者直接修改汉化,厨房本身需要linux环境,如果在windows下运行就需要安装cywin, 我已经把最新版的厨房打包在了cywin(绿色版)环境里,所以省去了再安装cywin的过程。 ①“上食材” 下面这幅图片就是龙酷X战神的线刷包解压后的样子。我们只需要system和boot两个img文件。
1-导入ROM文件到work文件夹; 14-添加init.d支持
按【s】后看到如下厨房支持的“食材”种类,很强大哦~ ----------------------------------------------------------------------------------------------------
接下来会问你是否显示ROM信息,如果选是的话会显示如下信息,也可以在之后用【8】随时查看。
此时已经添加完root权限,按回车又回到主界面,继续选【3】添加busybox,会显示如下界面:
【13】是添加用户程序『dataapp』就是我们在手机上看到的可用空间了,集成这里面的软件可以直接卸载,大家知道有些软件升级时间较快,比如uc浏览器的升级速度很快,我们就可以把uc浏览器集成在dataapp里,在线升级后直接覆盖替换,如果集成在systemapp里,升级后新的版本的apk是生成在dataapp里,并不能覆盖systemapp里的原apk,这样就浪费的system的可用空间了。 【14】这个功能建议添加一下,其根本就是修改内核,添加一条启动服务,可以在开机时执行init.d内的一系列优化脚本。
做完了上面这些,我们看看工作目录都有什么变化
1.精简 --- 龙酷X战神可精简列表 具体机型具体分析哈,如果你不太明白某个apk是干什么的,要勤问度娘,查不到就不要精简了。在删减前用winrar压缩工具打开所要删除的apk查看是否有libarmeabi..so文件,如有,进入systemlib文件夹,一并删除 2.添加替换 可以将常用RE管理器;关机重启;一键锁屏等等常用且不需要常常更新的软件放入systemapp内 有些软件并不是只把apk放入systemapp就完事,我们用快图浏览替换3D图库,首先用winrar工具提取快图浏览.apk中的libqpicjni*.so放入systemlib文件夹中,把快图浏览.apk放入systemapp文件夹中,删除3D图库Gallery3D.apk,当然Gallery3D.odex也一并删除,再如我们要添加百度输入法,还是先提取lib…….so文件放入systemlib文件夹中,再把百度输入法.apk放入systemapp文件夹中;总之,添加软件apk时,一定要先查看是否有lib......so文件,如有切莫忘记提取出来放入systemlib中,否则定制的rom会有fc;所添加的软件不能有中文名及间隔符号等。 举例:把指南针.apk集成到systemapp内,那么要先用解压缩软件打开apk,找到lib文件夹,解压出来 把liblocSDK3.so放入systemlib目录下,同时再把 指南针.apk放入 systemapp这样才算完成。(有些apk不止一个.so文件,那么就需要都拷贝到systemlib下。这里是举个例子,实际上中文名称的apk是不能集成的,需要改成英文名才可以哦~
4.systemmedia 里面有 alarms(闹钟铃声 ); notifications(短信铃声); ringtones(来电铃声); ui(相机声音等); 把自己心仪的音乐直接添加,不喜欢的可以直接删除,注意格式。 如果铃声更换了,想刷完就是你设置的铃声,那么还要在后面build.prop改一下哦,改成自己更换的音乐名。 5.systemfonts------放系统的字体 : 修改替换自己所中意的字体,主要替换这三种就行:DroidSansFallback.ttf--中文、DroidSans.ttf--英文、DroidSans-Bold.ttf--英文粗体; 六.后期处理 经过上面你的一系列改动,我们的刷机包已经大体成型了。如果还想做就是更细致的活了,比如替换电池样式,更改程序图标,这些都需要反编译才行。稍后我将另开一贴,仔细给大家演示如何反编译进行修改。 ①zipalign优化 回到厨房主界面,选择【5】会进入如下界面
②转换update-scripq或者updater-scripq刷机脚本 由于我们采用的是recovery进行刷系统,recovery支持的是Edify格式的命令,而update-scripq是Amend格式的命令,所以要把update-scripq转换为Edify格式的updater-scripq才能正常刷机 回到主界面,选【0】进入高级选项,再选【17】 打开如下两个位置,替换二进制刷机文件,或者在其他刷机包内提取也可以。对于龙酷X战神 mtk6592来说,我们需要替换mt65xx的binary文件。其他机型需要找自己的相对应的哦~ 我修改好的:附件610180 具体的修改大家可以参考:附件610179 简单来说就是修改system和data分区的挂在类型和挂载点,以及一些小地方。建议初学者可以直接使用大神们rom的mete-INF,常看常研究也就会了。 ④打包 回到厨房主页,选择【99】进行打包
OK.这样一个自定制卡刷包就做好了,快刷进手机试试吧。如果出现错误请检查刷机脚本是否修改正确,binary文件是否替换正确。只要多折腾、多摸索、胆大心细,定制自己的专属ROM就是这么简单!教程结束。谢谢!! 评分:+Z金豆 30 已有 6人参与评分 |
|
楼主热贴
个性签名:无
|
发表于 2014-07-24 11:16:22 1楼 | |
我炒,忒牛掰了点,赶紧复制粘贴,离线学习,回家写笔记。 | |
针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员 、 查看帮助 或 给我提意见