下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 MTK Android卡刷包制作教程

MTK Android卡刷包制作教程.pdf

MTK Android卡刷包制作教程

唐宋元明清
2012-03-20 0人阅读 举报 0 0 暂无简介

简介:本文档为《MTK Android卡刷包制作教程pdf》,可适用于IT/计算机领域

MTKAndroid系统卡刷Updatezip刷机包制作教程by我不是春哥移动叔叔 Ver一 基础知识和工具准备linux基础知识文件目录权限知识官方的ROM制作卡刷就只需要两个文件bootimg和systemimg 以gi最新的Android官方ROM为例官方编号:HXHVGAANDVVCOMrwrrspringspringM:bootimgrwrrspringspringK:logobinrwrrspringspring:MTAndroidscattertxtrwrrspringspringK:preloaderbirdaybinrwrrspringspringK:ramdiskimgrwrrspringspringK:ramdiskrecoveryimgrwrrspringspringM:recoveryimgrwrrspringspringK:secroimgrwrrspringspringM:systemimgrwrrspringspringK:ubootbirdaybinrwrrspringspringM:userdataimg其中三个bin文件rwrrspringspringK:logobinrwrrspringspringK:preloaderbirdaybinrwrrspringspringK:ubootbirdaybin是需要通过刷机线才能升级的剩下的img文件Android刷机时用到就五个这几个img文件都是可以是用MTK官方提供的刷机软件Flashtool通过usb线直接刷机的rwrrspringspringM:bootimgrwrrspringspringM:recoveryimgrwrrspringspringK:secroimgrwrrspringspringM:systemimgrwrrspringspringM:userdataimg这两个镜像其实是bootimg和recoveryimg镜像的文件压缩部分,学名ramdisk。需要更加深入研究手机怎么引导的同学可以研究。rwrrspringspringK:ramdiskimgrwrrspringspringK:ramdiskrecoveryimgyaffs压缩格式解压工具unyaffs yaffs是什么格式?  yaffs是第一个专門为NANDFlash存储器设计的嵌入式文件系统适用于大容量的存储设备并且是在GPL(GeneralPublicLicense)协议下发布的。签名java jar包已经java环境。这个在mtk的机器上可以不用做移动叔叔的Recovery已经绕过签名执行安装脚本了。二 工作环境的建立建立一个自己的工作目录如 ~mobilediygidiyrom,~在linux系统中代表用户自己的目录。比如你的用户名是mobileuncle那么~就代表homemobileuncle把unyaffs复制到~bin目录这个bin是一个可以执行的目录里面放一些你自己常用的命令或者脚本赋予unyaffs可以执行权限chmod~binunyaffs再在~mobilediygidiyrom目录下建立一个zip目录将你需要制作的bootimg复制到~mobilediygidiyromzip目录。在~mobilediygidiyromzipsystem目录下在建立一个system目录将你需要制作的systemimg复制到~mobilediygidiyromzipsystem目录。进入~mobilediygidiyromzipsystem目录,执行unyaffssystemimg解开system的文件包删除systemimgspringubuntu:~mobilediygidiyromzipsystem$unyaffssystemimgendofimagespringubuntu:~mobilediygidiyromzipsystem$lsalh总计MdrwxrxrxspringspringK:drwxrxrxspringspringK:drwxrxrxspringspringK:appdrwxrxrxspringspringK:binrwrrspringspringK:buildpropdrwxrxrxspringspringK:etcdrwxrxrxspringspringK:fontsdrwxrxrxspringspringK:frameworkdrwxrxrxspringspringK:libdrwxrxrxspringspringK:mediadrwxrxrxspringspringK:resrwrrspringspringM:systemimgdrwxrxrxspringspringK:usrdrwxrxrxspringspringK:xbinspringubuntu:~mobilediygidiyromzipsystem$rmsystemimgspringubuntu:~mobilediygidiyromzip$lsal总计drwxrxrxspringspring:drwxrxrxspringspring:rwrrspringspring:bootimgdrwxrxrxspringspring:system到这一步updatezip的文件结构已经出来了,zip目录就是我们以后要刷机的目录了。现在就是增加刷机脚本了在zip目录下建立一个METAINFcomgoogleandroid目录mkdirpMETAINFcomgoogleandroid如图在METAINFcomgoogleandroid目录下建立updatescript脚本可以从其他已经做好的rom里提取这个脚本来编辑。通过recovery卡刷系统的时候执行的就是这个脚本做自己的android卡刷rom要做的通常就是编辑这个脚本和增减apk程序移动叔叔的recovery已经把签名绕过了三 ROM文件的自定义 APK程序的自定义  在systemapp目录下就是ROM默认自带的apk应用程序我们可以根据自己的需求来精简和添加我们的apk程序。bin目录的软链删除  由于我们是从官方的压缩包里提取的系统在bin目录下有很多可以执行的软链接,用rm命令吧所有软链删除。rmdategeteventln已经删除完事的bin目录我们可以根据自己的需求来增加脚本或者扩展程序比如busybox然后在安装脚本里添加软链四 updatescript安装脚本的编写和修改updatescript是整个updatezip刷机包工作的起点Recovery程序执行的就是这个脚本。需要我们来做添加一些我们自己的个性化rom安装脚本参考代码如下:showprogress#modifybymforgiformatSYSTEM:formatCACHE:copydirPACKAGE:systemSYSTEM:copydirPACKAGE:dataSYSTEM:symlinktoolboxSYSTEM:bincatsymlinktoolboxSYSTEM:binchmodsymlinktoolboxSYSTEM:binchownsymlinktoolboxSYSTEM:bincmpsymlinktoolboxSYSTEM:bindatesymlinktoolboxSYSTEM:binddsymlinktoolboxSYSTEM:bindfsymlinktoolboxSYSTEM:bindmesgsymlinktoolboxSYSTEM:binfbbmpsymlinktoolboxSYSTEM:bingeteventsymlinktoolboxSYSTEM:bingetpropsymlinktoolboxSYSTEM:binhdsymlinktoolboxSYSTEM:binidsymlinktoolboxSYSTEM:binifconfigsymlinktoolboxSYSTEM:biniftopsymlinktoolboxSYSTEM:bininsmodsymlinktoolboxSYSTEM:binioctlsymlinktoolboxSYSTEM:binionicesymlinktoolboxSYSTEM:binkillsymlinktoolboxSYSTEM:binlnsymlinktoolboxSYSTEM:binlogsymlinktoolboxSYSTEM:binlssymlinktoolboxSYSTEM:binlsmodsymlinktoolboxSYSTEM:binmkdirsymlinktoolboxSYSTEM:binmountsymlinktoolboxSYSTEM:binmvsymlinktoolboxSYSTEM:binnandreadsymlinktoolboxSYSTEM:binnetstatsymlinktoolboxSYSTEM:binnewfsmsdossymlinktoolboxSYSTEM:binnotifysymlinktoolboxSYSTEM:binprintenvsymlinktoolboxSYSTEM:binpssymlinktoolboxSYSTEM:binrebootsymlinktoolboxSYSTEM:binrenicesymlinktoolboxSYSTEM:binrmsymlinktoolboxSYSTEM:binrmdirsymlinktoolboxSYSTEM:binrmmodsymlinktoolboxSYSTEM:binroutesymlinktoolboxSYSTEM:binschedtopsymlinktoolboxSYSTEM:binsendeventsymlinktoolboxSYSTEM:binsetconsolesymlinktoolboxSYSTEM:binsetpropsymlinktoolboxSYSTEM:binsleepsymlinktoolboxSYSTEM:binsmdsymlinktoolboxSYSTEM:binstartsymlinktoolboxSYSTEM:binstopsymlinktoolboxSYSTEM:binsyncsymlinktoolboxSYSTEM:bintopsymlinktoolboxSYSTEM:binumountsymlinktoolboxSYSTEM:binvmstatsymlinktoolboxSYSTEM:binwatchpropssymlinktoolboxSYSTEM:binwipesetpermrecursiveSYSTEM:setpermrecursiveSYSTEM:binsetpermSYSTEM:binnetcfgsetpermSYSTEM:binpingsetpermSYSTEM:binrebootsetpermrecursiveSYSTEM:etcpppsetpermSYSTEM:etcdbusconfsetpermSYSTEM:etcdhcpcddhcpcdrunhookssetpermSYSTEM:etcinitgoldfishshsetpermSYSTEM:xbinsusymlinksystemxbinsuSYSTEM:binsushowprogressshowprogressformatBOOT:writerawimagePACKAGE:bootimgBOOT:showprogress会不会很迷茫那么多命令下面我们来总结一下脚本的语法delete分区:目标文件路径删除文件如:deleteDATA:datacomandroidvendingdeleteSYSTEM:appQQapkcopydirPACKAGE:目录分区:从update包内复制文件到手机分区如:copydirPACKAGE:systemSYSTEM:deleterecursive分区:子目录路径删除目录如:deleterecursiveDATA:dalvikcacheformat 分区格式化分区,如 formatBOOT:  showprogreessxxx显示刷机进度,如showprogresssymlink命令 分区:文件 建立软链 如:symlinktoolboxSYSTEM:binwipewriterawimage刷img镜像setperm 设置权限google的updatescript脚本英文解析 copydirSyntax:copydir<srcdir><dstdir><timestamp>Copythecontentsof<srcdir>to <dstdir>Theoriginalcontentsof<dstdir>arepreservedunlesssomethingin<srcdir>overwrotethemEx:copydirPACKAGE:systemSYSTEM:formatSyntax:format<root>FormatapartitinEx:formatSYSTEM:,willformatentiresystemNote:formattingerasesdatairreversiblydeleteSyntax:delete<file><fileN>Delete fileEX:deleteSYSTEM:appCalculatorapk,willdeleteCalculatorapkfromsystemappdirectorydeleterecursiveSyntax:deleterecursive<fileordir><fileordirN>DeleteafileordirectorywithallofitʼscontentsrecursivelyEx:deleterecursiveDATA:dalvikcache,willdeletedatadalvikcachedirectorywithallofitʼscontentsrunprogramSyntax:runprogram<programfile><args>RunanexternalprogramincludedintheupdatepackageEx:runprogramPACKAGE:installbusyboxsh,willruninstallbusyboxshscript(shellcommand)includedintheupdatepackagesetpermSyntax:setperm<uid><gid><mode><path><pathN>Setownershipandpermissionofsinglefileorentiredirectorytrees,likeʻchmodʼ,ʻchownʼ,andʻchgrpʼallinoneEx:setpermSYSTEM:etcinitgoldfishshsetpermrecursiveSyntax:setpermrecursive<uid><gid><dirmode><filemoe><path><pathN>SetownershipandpermissionofadirectorywithallofitʼscontentsrecursivelyEx:setpermrecursiveSYSTEM:appshowprogressSyntax:showprogress<fraction><duration>Useoftheonscreenprogressmeterforthenextoperation,automaticallyadvancingthemeterover<duration>seconds(ormorerapidlyiftheactualrateofprogresscanbedetermined)Ex:showprogresssymlinkSyntax:symlink<linktarget><linkpath>Createasymlink(likeʻlnsʼ)The<linkpath>isinroot:pathformat,but<linktarget>isforthetargetfilesystem(andmayberelative)参考知识MT以gi为例的分区#catprocmtddev:sizeerasesizenamemtd:"preloader"mtd:"nvram"mtd:"seccnfg"mtd:"uboot"mtd:"boot"mtd:"recovery"mtd:"secstatic"mtd:"misc"mtd:"system"mtd:c"cache"mtd:"logo"mtd:a"expdb"mtd:"userdata"五 打包updatezip在zip目录使用命令ziprmyupdatezip将会把zip目录下的bootimgMETAINFsystem压缩到diyrom目录命令结束会在zip的上一级目录生成我们自己制作的刷机包myupdatezip可以看到有个buildsh这个是春哥自己做的自动打包和签名脚本。里面是这样的cdzipziprmyupdatezipcdjavajar~toolstestsignjarmyupdatezipmupdatesignedzip最后一行是签名这个没有研究过。可以绕过就是了。到这里刷机包就制作完成了最后生成的myupdatesignedzip就可以放到sd卡刷机了四 刷机刷移动叔叔的中文Recovery现在的版本是进入Recovery模式使用第一项U盘模式把做好的myupdatesignedzip通过usb模式复制到sd卡上选择从SD卡用?ZIP包刷机等待几分钟叔叔的Recovery会自动跳过签名执行刷机脚本的用Recovery菜单的“重启手机”重启这里要注意如果不用这个菜单重启而是用别的方法手机重启后还是Recovery模式刷机完成因为只格式化了System分区DATA分区没有动所以用户数据没有丢失包括之前安装的软件都没丢

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/15

MTK Android卡刷包制作教程

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利