配色: 字号:
卡刷包制作教程
2016-06-14 | 阅:  转:  |  分享 
  
【教程】用安卓厨房制作你自己的卡刷包!你也可以是Romer!



ROM定制工具——dsixda''sAndroidKitchen是由xda-developers论坛的一位来自加拿大的大神做出来的。这是一个定制rom的神器!!?在这里向作者表示崇高的敬意——原帖地址:http://forum.xda-developers.com/showthread.php?t=633246?厨房下载地址:?https://github.com/dsixda/Android-Kitchen/archives/master?本人定制好的cygwin+dsixda''sAndroidKitchen一体包下载地址:?http://dl.dbank.com/c0k6igayri?本帖教你怎样安装和使用这个神级的工具,教会你怎么制作Recovery卡刷刷机包。?看到论坛上一些人转的帖子,看了下,有些含糊不清,而且有不少地方都不准确,因此本人认真看了下原帖,并且根据自己的经验进行了梳理和总结。?个人水平有限,难免有疏漏,请多多包涵。看不懂的名词你可以百度谷歌一下的。?百度ID:pledge77520,转载请注明出处。

第一步——JAVA环境变量的安装和设置:?1.下载JDK:?请到官网页面下载http://www.oracle.com/technetwork/java/javase/downloads/index.html?或者百度一下即可。?请安装32位的JDK,64位的在安装Cygwin的时候可能会出现麻烦。?2.安装JDK:?点击下载好的JDK安装程序,没什么难度,一路点击“下一步”“同意”“继续”即可。?3.配置java环境变量:?1).WinXP:?我的电脑(右键)——属性——高级——环境变量,选择在"系统变量"下进行如下配置(若已存在则点击“编辑”,不存在则点击“新建”):?(1).系统变量JAVA_HOME:?变量名:JAVA_HOME?变量值:C:\ProgramFiles\Java\jdk1.7.0_03(就是你的JDK的安装路径,我这里写的是我的JDK安装路径,你脑子灵活点。。。)?(2).系统变量Path:?变量名:Path?变量值,在变量值的最前面加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin?(3).系统变量CLASSPATH,如果已有,请在末尾添加:?变量名:CLASSPATH?变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar?(这里要注意,最前面要加“.”,表示当前路径)?注意:当设置的变量在末尾时,不要加上“;”。?然后点击“确定”或者“应用”即可。?2).Win7:?计算机(右键)——属性——高级系统设置——环境变量,选择在"系统变量"下进行如下配置(若已存在则点击“编辑”,不存在则点击“新建”)。参数设置和上面提到的xp一样,配置好后点击“确定”或者“应用”即可。?。?3).验证是否成功配置环境变量:?按键盘Win+R,输入cmd,或者用别的方法打开命令提示符窗口,依次输入java,javac,java–version,如果没有报错,那么就是成功了。?配置失败、出现问题等情况请自行百度。



第二步——安装Cygwin:?1.请到官网页面下载:http://cygwin.com/index.html?或者百度一下。?2.点击安装程序。?选择下一步,点击InstallfromInternet(从网络上安装);下一步,然后RootDirectory是安装路径;接着继续下一步,LocalPackageDirect是下载下来的安装包存放的位置;继续下一步,下一步,选择一个镜像源,用于下载安装包的,随便选一个就行了;之后出现一个弹窗你就点击确定。?然后就是选择组件安装。?这里很多教程都直接说点击default使其变为install。但是这样就会有一个问题:如果真这样做了,就需要同时下载安装大量的组件,下载过程极其漫长,安装后体积非常臃肿。但是很多linux系统整体体积也不过几百兆,也照样能运行厨房。因此在这里我们可以推测有相当多不必要安装的组件,毕竟我们并不需要那么多的功能,在这里我们只需要能够运行厨房工具罢了。?我只想说,有些转载者看原版教程的时候不注意。在原帖内有个文件叫做Cygwin_required.txt,已经告诉我们需要到哪些插件了。我们并不需要几百几千个组件,而只需要寥寥几个重要组件罢了。也就是说,在默认安装的组件的基础上,我们只需要再添加一下额外需要到的组件即可:?Archive/zip?Archive/unzip?Devel/gcc?Interpreters/perl?Utils/cpio?Utils/util-linux?Utils/ncurses?Web/wget?安装的时候在组件的树形图列表中或者直接搜索相应组件,点击一下使其变为安装状态即可。这样我们的下载量就大大减少了,速度快了很多,而且完成后体积只有几百兆左右。?然后继续下一步,直到完成即可。?(如果后期提示缺少什么工具,重新运行安装程序,搜索缺少的工具安装即可。)?本教程中Cygwin安装的整个过程,根据网速和处理器速度,需要几分钟到几个小时不等。。。?事实上,这只是在windows下搭建一个运行环境而已,如果你愿意,你也可以在Linux/MacOSX的虚拟机上或者真正的Linux/MacOSX系统中,下载安装JDK,配置java环境,然后就可以使用这个神级的工具了。?其他系统或者虚拟机的具体安装方法请看原帖,看不懂的请百度谷歌必应一下,这里不细说了。



第三步——厨房的安装和使用:?安装和进入厨房工具:?把下载好的厨房工具安装包解压到cygwin安装目录下的任意文件夹,一般建议放到/home下.?点击打开Cygwin,cd到厨房所在文件夹,(比如厨房放在/home/kitchen下,可以cd/home/kitchen),然后输入“./menu”,就能直接进入厨房工具了。这里还有一个小技巧,就是当厨房放在/home/Administrator下时,可以用文本编辑器编辑/home/Administrator下的.bashrc文件,在最后面添加一行,内容为“./menu”,以后点击Cygwin快捷方式就可以直接进入厨房了。?进入厨房了,我们该做些什么呢?别急,让我们先了解一下厨房的菜单,看看我们可以做些什么。厨房菜单如下(括号内的为中文翻译,看中文都懂啥意思,该怎么用了吧):?MainMenu(主菜单)?1.SetupworkingfolderfromROM(导入ROM到工作文件夹中)?2.Addrootpermissions(添加Root权限)?3.AddBusyBox(添加busybox)?4.Disablebootscreensounds(禁用启动画面和启动声音)?5.Addwirelesstethering(添加无线共享功能)?6.Zipalignall.apkfilestooptimizeRAMusage(对所有apk文件进行zipalign资源对齐操作以优化内存使用)?7.ChangewipestatusofROM(更改ROM刷入系统时的wipe操作状态)?8.ChangenameofROM(更改ROM的名称)?9.Checkupdate-scriptforerrors(检查刷机脚本是否有错)?10.Showworkingfolderinformation(显示工作文件夹的信息)?O.ADVANCEDOPTIONS(高级选项)?11-DeodexfilesinyourROM(Deodex操作,合并ROM中的apk和odex文件)?12-Addtaskkillertweakforspeed(stockROMonly)(添加内存调整和优化,以提升速度,仅限官方ROM)?13-Add/data/appfunctionality(添加/data/app功能)?14-AddNanotexteditor+sysro/sysrw(添加Nano文本编辑器+,切换系统只读/系统可读写)?15-AddBash(commandshell)(添加bash,也就是shell命令行)?16-AddApps2SD(添加App2SD功能)?17-Add/etc/init.dscriptssupport(busyboxrun-parts)(添加对/etc/init.d脚本的支持,需要busybox)?18-Addcustombootanimationfunctionality(添加对自定义开机动画的支持)?19-Portingtools(experimental)(移植工具,仅测试)?20-Toolsforbootimage(unpack/re-pack/etc.)(bootimage文件工具,解压或者打包boot.img等等)?21-Unpackdata.img(解压data.img文件)?22-SignAPKorZIPfile(s)(对apk文件或者zip文件进行签名操作,可批量操作)?23-Convertupdate-scriptorupdater-script(update-script或者updater-script两种刷机脚本的相互转换)?24-Miscellaneousoptins/Pluginscripts(其他杂项选项菜单/插件脚本)?高级选项中的0-Backtomainmenu?99.BuildROMfromworkingfolder(由工作文件夹建立ROM刷机包)?u.About/Updatekitchen(关于/厨房升级)?x.Exit(退出)



下面是具体的操作流程,这个是本人从Recovery备份出来的system.img出发,制作一个卡刷包的过程:?1.打开厨房。首先,按1,进入创建工作文件夹的流程。请把需要到的ROM原料放入厨房中的original_update文件夹,具体支持的格式请按s查看。一般可以用的是system.img和boot.img,一般可以在官方rom中用工具提取出来,也可以用Recovery备份出来,还可以在adb中用cat命令备份出来,反正只要你想得到弄得出来就行了;?有些机型没有boot.img,比如我们的u880,bintool分解不出boot.img,recovery也备份不出,cat也cat不出来,没关系,只放system.img就可以了,系统可以生成一个虚拟的boot.img文件的。此外也可以用别人做好的zip卡刷包,官方的zip升级包,或者你以前操作过的工作文件夹。这里我用的是Recovery备份出来的system.img文件。?2.然后就是一路yes,enter按下来,好的,img解包了。解包完成后会问你要不要看这个rom的信息,这里看不看随你便。?如果这里无法解包,报错,你得看看是不是你的原始rom文件有问题了。?3.开始大展身手的时候了。该做些啥呢??1).大多数人的第一件事,就是先把系统里面的一堆运营商或者厂家定制的软件精简。我也不例外,主要是这些定制的软件并不是必须的,而且占系统空间,又拖慢系统开机和运行。?进入工作文件夹,找到system下的app文件,对着你找到的可删除的文件列表,大胆地删!要记得,不知道这个软件有什么用的不要乱删!系统核心文件不要删!如果是一个完整的卡刷包,请务必保证有启动器(桌面)!?2).然后是深度精简了。开机动画不要的,删!多余的铃声,删!不想要TTS语言包?删!此外你还可以多个心眼,删除apk文件之前用winrar一类的压缩文件管理器查看一下apk里面有没有lib文件夹,有的话可以把/system/lib下对应的lib也删除了。?3).添加你需要的程序,使其成为系统程序。比如很多国内的机型都没有谷歌服务包,这时候你就可以添加谷歌服务包进去了。再比如,你喜欢百度输入法,注意,添加的程序请先用winrar或者好压一类的查看下,如果apk内有lib文件夹,请把apk中lib/armeabi文件夹下的.so文件放到/system/lib下,如果有framework文件夹,请把里面的jar文件放到/framework文件夹下。?说一句,不要往系统里面添加太多程序,美其名曰内置啥啥的,要知道系统程序越多,就越拖慢系统的运行速度,而且耗电、开机等各方面都会受到影响。但是也不要删除太多,别用的少了就删了,这样就算是自用,真正用到的时候还是很麻烦的。我就吐槽一下一些romer,把手机电视,输入法,文件管理,任务管理啥的都删除了,这种机子除了首次开机看起来清爽点,后来还不是得装这些东西,而且data内的东西优先级不如system,每次恢复出厂又得重装。如果真要空出可用空间,该做的不是变态的精简,而是在适度的精简上做odex,同时删掉一些不用的体积臃肿的铃声开关机动画啥的。一般来说,做odex可以为data分区节省出20~50M不等的空间,而且速度有所提高。?有些程序不想放在system里,不想让他成为系统程序,怎么办捏?好,使用厨房的菜单,按0,按13,就是添加data/app支持,然后就可以在data/app下添加第三方程序了。刷机之后这些程序就以第三方程序的身份出现,可以直接卸载。?



4.然后是美化?不喜欢或者不懂美化的同学可以绕过这一步了。这一步骤是毕竟比较难的,整个制作过程中涉及到手动反编译的就在这里。?美化主要是弄以下方面,修改system下的文件:?System/framework下的文件,system/app下的启动器(桌面)程序和systemUI.apk(2.3derom才有的)。一般是修改解锁,修改数字电量,程序图标修改,状态栏透明或者半透明,换特效等。?此外,推荐一个“在线厨房”,地址:http://uot.dakra.lt/kitchen/?在这里你可以上传你的framework-res.apk文件和状态栏systemUI.apk等软件,然后自定义修改数字电量,修改开机动画,修改状态栏颜色等等。?步骤:把文件复制出来,反编译,美化,回编译,放回去替换。额,其实我对美化并不是很在行,也不说什么了。提示一下,加任何素材进去要记得添加对应的资源id等,删除的话也是一样;替换图片要注意格式,很多图片都是9.png格式,要打9.png补丁;,framework下的任何文件因为签名的关系,不能用反编译后的文件,而应该用winrar或者好压一类的把反编译后的资源提取出来,直接替换到原来的apk或者jar文件中,注意检查压缩方式。具体的别问我,自己百度或者谷歌去。?此外还有一些美化补丁啥的,也可以添加,比如spn.conf补丁,用来屏蔽桌面显示的运营商的,也可以根据补丁应该呆的位置加进去。?总之这是技术活和体力活的结合体。?美化是电量的敌人!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?我不想捣鼓那么多,就换个谷歌原生解锁就行了吧。反编译system/framework下的service.jar,替换原生解锁代码再反编译回来,然后换掉原来的service.jar就是了。其他的,你们自己去捣鼓吧。?5.最后是优化?首先,按2,添加root权限。。。?其次,按3,添加busybox指令集。。。?系统为2.1以下的童鞋可以添加app2SD的功能了,按0进高级菜单,按16,AddApps2SD。不过咱u880不需要。?剩下的添加无线共享,内存优化等等,还有一些神马补丁的,也可以一并添加进去。看个人喜好。?一些机型存在开机第二屏,而如果你想去除开机第二屏,那么一开始设置工作文件夹的时候记得把你的boot.img文件也加进去,这时候就可以用高级功能里面的bootimage工具,也就是高级菜单中的20选项,解包boot.img,然后找到第二屏,替换掉或者直接删除。有些机型需要完整root的,需要修改boot.img甚至ramdisk才能实现的,也可以在这里操作。优化内存也可以通过修改boot.img来实现。?然后是给apk签名,以防system/app下的文件缺失签名而无法使用。?6.好了,下面是准备打包rom的工作了。?1).选项7,修改wipe状态。如果是单刷包,千万不要设置这个,但是如果你是整个系统的rom,那么我推荐你修改这个。为啥?因为经常有些马大哈在刷机的时候忘记wipe操作,导致开不了机而变砖,那么你只好事先打打预防针,直接在脚本中增加wipe操作,这样子刷机的时候不管有没有手动wipe都没关系了。?2).检查rom的信息。确认一下你的刷机包内容弄完了,然后选择选项10,看一下当前的rom信息,看看是否符合你的要求。?3).检查升级脚本是否有误。按9呗。?4).转换刷机脚本。按0进入高级菜单,选择23,根据情况转换刷机脚本。为啥要做这个捏,因为3.0以下recovery需要的是update-script,而3.0版本以上的recovery却需要updater-script。现在大多数人刷的recovery都是3.0以上版本,所以需要根据实际情况转换。一般建议转换为updater-script。?5.)按99,打包。?英语都会那么些吧?我想不用多说了,一路yes一路回车就是了。在这个过程进行zipalign工作,给rom签名等,最后会问你要不要给rom改名。这里随意。

有没有发现,在这个过程里面,你需要动的东西少多了,并不需要管文件和文件夹的用户组权限神马的,脚本也不用你写,deodex合并odex和apk,apk签名,zipalign对齐,ROM的签名等等操作也不用你打复杂的命令行,你只需要的就是换上你需要的东西,然后动动脑袋眼睛手指头,轻松几步一键完成,然后一个专属于你的rom就诞生了。?其实这个工具的作用远远不止这么点,更多的用途请参照原帖,或者你自己动脑动手开发。?当然,制作Recovery卡刷ROM还有别的很多的方法,比如直接编辑脚本制作ROM并用工具签名,修改别人做好的ROM等等,这里就不一一介绍了。这里只是给大家提供一个好的制作方法。

最后——送上本人修改过的厨房工具,配套安装了Cygwin绿色版,只要你配置了java环境,那么打开这个厨房工具就能够直接使用。不过这个配套的厨房是纯原版的,木有做汉化(汉化要弄一百几十个脚本文件,过程简单但是累人,本人暂时没空,网上也有很多汉化版的了,自己搜索去)而且我觉得汉化有点多余,还可能歪曲作者原意,因为要做一个好Romer,怎么说也得会那么些英语,不然真的是无头苍蝇到处乱撞的;真的实在不懂的时候毕竟还可以百度或者谷歌一下。?这个工具只是让你跳过第二步,毕竟装Cygwin确实有点麻烦,而且使得你可以把它放在任何路径下执行。放在U盘中还能够随身携带,使用方便。?这个工具,工作区在\home\kitchen\下,放system.img或者原始rom文件的地方是\home\kitchen\original_update?下载地址:?http://dl.dbank.com/c0k6igayri?



说到这里,就连带说一些一步到位的精简迷你bin的制作吧。?很简单,使用bintool,分解你要做迷你bin的官方bin文件,删除其中的system分区。?Logo.img和recovery根据你的喜好而替换。?然后用yaffs2浏览器新建一个yaffs2格式的文件,保存为system.img。?然后用bintool调整分区,修改bootloader和ramdisk读写权限。重新打包bin就可以了。?谈一下分区。Cache在20~30M之间最好。千万不要过度压缩cache的空间!因为有一些程序是通过cache保存临时数据的,比如电子市场,我还见过一个视频播放软件(名字忘记了),一个rom工具也是用cache保存临时数据的。此外系统运行中的意外丢失的文件也会放那儿。Cache太小了会导致程序卡死!手机死机!?正常的普通精简包,system大小在110~130之间。不过如果做odex话的话可以到130~140左右。如果带上joinme又得多准备30M空间。?考虑到谷歌服务包和换字体的需要。建议system分区设置为150M左右。一般140~160的system分区都合适。也适合不同类型的刷机包互刷。当然,如果你喜欢变态精简那我也没办法。教程完毕。其实看起来复杂,真正做起来很简单的,就是动动手指头的事情罢了。





方便。你不需要装庞大的虚拟机,也不需要为此特别弄一个linux系统或者macos,只需要装几个软件。可以放到u盘里,插在电脑上就能随时使用,适用于网速慢或者没自己的电脑童鞋。当然这需要是我弄的那个修改版软件才能实现。俩家伙解压前150M解压后400M这样,已经不能再小再精简了。





献花(0)
+1
(本文系好吃的青苹...首藏)