重要说明:
看完这个帖子,你将学到:刷机脚本的含义,如何对刷机脚本进行简单修改,如何制作补丁,如何往内核里加入G大脚本,甚至如何制作Rom的zip包。
另外,此贴较长,或许以后还会更长,要想学到东西的机油请耐心看。
我将先以我的Blade-Bingo-2.3 Rom里的脚本为例,讲一讲刷机脚本。
然后再以我此贴的附件 KernelPatch.zip 内核补丁为例,简单讲一讲内核单刷补丁怎么做。
首先,我想说,其实,补丁的本质就是一个不完整的Rom刷机包。
为什么这么说它?我想看完这个帖子大家就明白了。
首先,请把任意一个V880的Rom解压缩(或者直接用双击打开它,当然,前提是这种格式已被压缩软件关联)。
你会看到,根目录下有META-INF、system文件夹和boot.img文件(其他Rom组织方式,如含data、cust等文件夹的Rom暂不细说)。
刷补丁(或者说,刷机),成功的几个要点:正确的文件,准确的脚本,精确的操作。而这样做,的确的有效。
system文件夹里是所有刷机所需文件,今天只教大家做内核补丁,所以暂时不去关心这里是什么。
META-INF\com\google\android\目录下有个edify的updater-script刷机脚本,它与Rom厨房默认的脚本有些不同。
如何不同,那里不同,这也不是今天咱们要讨论的问题,暂此越过。
用记事本或高级一点工具的如NotePad2(建议使用高级工具,自动排列,颜色突出,看起来更有条理)打开脚本文件。
------------------------------------------------------------------------------------------------------
ui_print("");
ui_print(" =================================");
ui_print(" | ------==bingo1991==------ |");
ui_print(" ============ 2.3.7-0214 =============");
ui_print("");
ui_print("Updating, plese wait....");
ui_print("");
assert(getprop("ro.product.device") == "blade" || getprop("ro.build.product") == "blade" || getprop("ro.product.board") == "blade");
看完这个帖子,你将学到:刷机脚本的含义,如何对刷机脚本进行简单修改,如何制作补丁,如何往内核里加入G大脚本,甚至如何制作Rom的zip包。
另外,此贴较长,或许以后还会更长,要想学到东西的机油请耐心看。
我将先以我的Blade-Bingo-2.3 Rom里的脚本为例,讲一讲刷机脚本。
然后再以我此贴的附件 KernelPatch.zip 内核补丁为例,简单讲一讲内核单刷补丁怎么做。
首先,我想说,其实,补丁的本质就是一个不完整的Rom刷机包。
为什么这么说它?我想看完这个帖子大家就明白了。
首先,请把任意一个V880的Rom解压缩(或者直接用双击打开它,当然,前提是这种格式已被压缩软件关联)。
你会看到,根目录下有META-INF、system文件夹和boot.img文件(其他Rom组织方式,如含data、cust等文件夹的Rom暂不细说)。
刷补丁(或者说,刷机),成功的几个要点:正确的文件,准确的脚本,精确的操作。而这样做,的确的有效。
system文件夹里是所有刷机所需文件,今天只教大家做内核补丁,所以暂时不去关心这里是什么。
META-INF\com\google\android\目录下有个edify的updater-script刷机脚本,它与Rom厨房默认的脚本有些不同。
如何不同,那里不同,这也不是今天咱们要讨论的问题,暂此越过。
用记事本或高级一点工具的如NotePad2(建议使用高级工具,自动排列,颜色突出,看起来更有条理)打开脚本文件。
------------------------------------------------------------------------------------------------------
ui_print("");
ui_print(" =================================");
ui_print(" | ------==bingo1991==------ |");
ui_print(" ============ 2.3.7-0214 =============");
ui_print("");
ui_print("Updating, plese wait....");
ui_print("");
assert(getprop("ro.product.device") == "blade" || getprop("ro.build.product") == "blade" || getprop("ro.product.board") == "blade");