刷机脚本说明
- 格式:doc
- 大小:53.00 KB
- 文档页数:12
操作步骤
1.将刷机文件拷贝到SD卡(根目录下)
包含的文件为:embv210_root.img ,u-boot.bin ,zImage
2.将SD卡插入主板(确保SD卡位置插放正确)
3.打开主板一键刷机工具,首次会弹出端口设置界面。
4.端口号根据自己机子的实际串口来设置,波特率必须为
115200,其他设置默认。
5.接上主板电源,用串口线将主板与pc连接。
主板开机
6.主板刚开机时迅速按软件上的“回车”按钮(并非pc键盘的
回车)直到出现SMDKV210 #
7.接着点击“文件检测”。
出现如下画面为检测完成:
8.下载需要的文件
a:更新uboot:
b:更新zimage
C:更新ststem
完成。
注意事项:
1.建议使用台式机使用更新工具来完成。
2.如果主板开机会重启,建议全部格式化之后,然后必须接着步骤6到结束。
(如果格式化
之后,不接着文档中步骤6开始执行,否则后面主板烧写工作要跳线为usb模式进行操作,步骤比较烦琐。
)
3.如果格式化主板,文件里面一定要存在uboot.Bin 。
文件检测也会检测这些文件的存在。
4.更新过程中,请勿将SD卡拔下来。
刷机的过程中,具体要向手机里复制什么文件,删除什么文件,不是手机本来就有的功能,而是要通过Rom的刷机脚本命令来实现的。
刷机脚本在此:
刷机脚本需要用Notepad++打开:
具体的说明可以搜索“update-script语法”、“关于set_perm参数使用的详细说明”之类的资料。
这个脚本是针对刷机包的,如果是美化包、补丁包或修复包,则脚本要简单得多,最简单的可以用一句来表达:copy_dir PACKAGE:system SYSTEM:
只要这句命令,刷入包的时候就能实现包里的system里的东西都对应复制到手机的system 里了。
(权限也默认是rw-r--r--)
当然,有时候也可以灵活多变,自己添加命令,比如字体修复包的脚本:
添加了进步条命令,添加了删除命令,先删了原来的全部字体,再复制一个新的进去。
做为发烧级手机,小米手机一直专注刷机,对此小米手机刷机工具MiFlash应用而生。
其简单统一的刷机界面,让众多米粉们倍受青睐。
下面就具体来了解一下利用小米手机刷机的具体方法。
方法/步骤1.刷机包的获取:直接登陆MIUI系统官网(),在其“下载”栏目中根据手机类型找到对应的刷机包进行下载。
2.接下来就需要下载“小米手机刷机工具MiFlash”程序,可以直接从以下地址中获取:/tools/MiPhone20130420.exe3.安装“MiFlash”程序:在其安装界面中,选择安装的位置,点击“下一步”按钮,然后根据安装向导可以很容易的完成整个安装操作。
4.安装完成后,会出现“打开手机内部存储”的操作方法说明界面,如图:5.按照提示在手机中设置:打开“设置”界面,切换至“全部设置”选项卡,进入“存储条目”,点击菜单中的“USB计算机连接”,最后选择“媒体设备(MTP)”打开即可。
6.接下来运行“MiFlash”工具,点击“浏览”按钮选择已下载好的固件ROM包。
7.将小米手机关机后,按住“电源键+音量-”进入fastboot模式,并在此模式将其通过数据线与电脑相连。
8.接下来在“MiFlash”界面中,首先点击“刷新”按钮,以确保程序正常识别小米手机,接着再点击“刷机”按钮,等待刷机进度条的完成。
常见杂症壹:不能有效的进入FASTBOOT模式操作键:音量上键+电源键+米键操作细节:关机状态,先按米键和音量上键,再按电源键操作时间间隔尽量短多次尝试注意事项:电量充足,按键准确悲剧症状:硬件确实存在问题,只能联系客服或者去小米之家原因二:刷机工具的地址栏最好用英文常见杂症叁:刷机包完整,下载也正确的线刷包,就是0秒完成或者是上1000秒完不成原因是刷机工具和手机的识别无效,和刷机包的识别有效解决办法和猜想:1 重新下载小米手机驱动,在桌面我的电脑上点右键-属性-设备管理器-在Android pone下面的设置上点右键选择更新驱动,然后选择你刚才下载的驱动(注意解压缩哦)更新下就行2 重新拔插数据线。
最新刷机工具使用教程最新刷机工具使用教程导读:刷机是许多手机用户都会进行的一项操作,它可以帮助改变手机的操作系统、解锁更多功能等。
而今,市面上涌现出了许多刷机工具,如何正确使用这些工具进行刷机操作呢?本文将详细介绍最新刷机工具的使用方法,供大家参考。
一、选择合适的刷机工具在开始刷机之前,我们应该先选择合适的刷机工具。
市面上有许多不同的刷机工具,如TWRP、ROM Manager等。
我们可以根据自己的需求和手机型号来选择适合自己的工具。
二、下载并安装刷机工具当我们确定了刷机工具后,我们就需要下载并安装它。
我们可以在各大应用市场或者官方网站上找到刷机工具的下载链接。
下载完成后,我们需要按照提示进行安装,确保安装过程顺利完成。
三、备份手机数据在进行刷机之前,我们应该先备份手机中的重要数据。
刷机的过程中有可能会导致数据丢失,因此备份是十分必要的。
我们可以通过连接手机至电脑,或者使用第三方备份软件来进行数据备份。
备份完成后,我们可以放心进行刷机操作了。
四、开启手机的USB调试功能在刷机之前,我们还需要确保手机的USB调试功能已经开启。
我们可以在手机的设置中找到开发者选项,并将USB调试功能打开。
这样可以确保我们正常连接手机与电脑之间的数据传输。
五、连接手机与电脑在下载并安装刷机工具之后,我们需要将手机通过数据线连接至电脑。
在连接过程中,我们需要确保手机正常识别到电脑。
如果识别不到,我们可以尝试更换数据线或者调整USB端口。
六、选择刷机操作连接成功后,我们可以打开刷机工具,并根据其界面进行相应的刷机操作。
具体的操作步骤可能因刷机工具而有所不同,我们应该仔细阅读使用说明,按照提示进行操作。
七、刷机等待刷机的过程可能会比较漫长,我们需要有耐心等待。
在刷机的过程中,我们应该确保手机电量充足,同时避免中途断电。
刷机成功后,我们的手机将会自动重启,并进入到新的操作系统中。
八、恢复数据当我们刷机成功后,我们需要将之前备份的数据重新恢复到手机中。
简单介绍刷机脚本本楼为大家简单介绍一下刷机脚本的语法以及语句作用大家想要实例的话可以到我这个帖子里面下载并打开里面的刷机脚本来看一下/thread-3587271-1-1.html先来说说刷机脚本所在路径,这个大家应该都知道的了:1META-INF\com\google\android\updater-script复制代码然后我们再了解一下刷机流程:2开始.3清理userdata, system, cache, dalvik-cache等(这是一个可选的步骤, 由ROM作者依据ROM 的特性去决定是否要采用,例如MiniCM7就是会自动清除的)4挂载userdata, system, sdext (其中sdext为可选挂载, 依据ROM特性决定)5释放对应的文件/文件夹到对应的区域, 例如刷机包内的目录data对应的释放到手机的userdata 区域6Symlink, 这个是必须的动作, 这个有问题, 会导致ROM出现一些问题, 特别是错误的链接或者不存在的链接,很容易引发问题.7设置权限, 这一个步骤也很重要, 关系到ROM能否正常使用, Android是基于在linux基础上的, 对于文件的权限非常重要, 没有权限, 一个应用程序是无法被执行或者读写的复制代码下面用MiniCM7的刷机脚本举例解说一下这些步骤:8ui_print("-> Wiping /system");9format("yaffs2", "MTD", "system");10mount("yaffs2", "MTD", "system", "/system");复制代码1.ui_print: 就是在recovery下打印文字给用户阅览.ui_print("-> Wiping /system");就是在屏幕上打印一句-> Wiping /system2.format语法:format表示要格式化的分区作用:格式化一个分区例如format("yaffs2", "MTD", "system");3.mount:挂载相关的区域我们可以看到上面的语句是先格式化system这个区域再挂载system,这样可以避免出现意外问题。
【转】使⽤fastboot命令刷机流程详解⼀、Fastboot是什么?1.1 ⾸先介绍Recovery模式(卡刷)在系统进⾏定制时,编译系统会编译出⼀份ZIP的压缩包,⾥⾯是⼀些系统分区镜像,提供给客户进⾏⼿动升级、恢复系统。
需要提前将压缩包内置SDcard,在Recovery模式进⾏。
进⼊Recovery⽅法:将⼿机完全关机后,按住⾳量键下(上)+电源键,进⼊BootLoader界⾯。
⽤⾳量加减来控制光标,电源键来进⾏确认(有的机器只能⽤⾳量下键进⾏选择,上键是确认键)。
说明:有的机器可能没有预装Recovery。
1.2 介绍Recovery模式(线刷)在中Fastboot是⼀种⽐Recovery更底层的模式。
使⽤连接⼿机的⼀种刷机模式。
这就是所谓的线刷,与Recovery模式相⽐Fastboot需要掌握⼀些烧机命令,对于某些系统卡刷来说,线刷更可靠,安全。
⼆、Android系统分区介绍hboot——系统开机引导类似电脑BIOS,这块刷错⼿机就会变成砖radio——通讯模块、基带、WIFI、Bluetooth等衔接硬件的驱动软件——系统故障时负责恢复boot——Linux嵌⼊式系统内核system——系统⽂件、应⽤cache——系统运⾏时产⽣的缓存userdata——⽤户使⽤APP产⽣的缓存数据三、Fastboot环境搭建3.1 Android SDK⼯具platform-tools⽬录附图:进⼊这个⽬录下就可以使⽤adb、fastboot命令了,也可以先配置环境变量就不⽤每次这么⿇烦。
可以把这个⽬录单独拷贝出来,携带⽅便⼀点,SDK太⼤了。
其实很多刷机⼯具、刷机脚本都是围绕此⼯具进⾏刷机的,使⽤的也就是adb、fastboot命令,只不过别⼈将各种情况判断写成程序⽽已。
四、Fastboot刷机命令4.1 写⼊分区步骤以及命令4.1.1 adb devices——查看⼿机是否连接上4.1.2 adb reboot bootloader——将⼿机重启到Fastboot模式4.1.3 fastboot devices——查看Fastboot模式下连接的⼿机4.1.4 ⼏种分区写⼊如下:(例如:system.img刷⼊的分区电脑上具体的路径)1. fastboot flash system system.img2. fastboot flash boot boot.img3. fastboot flash radio radio.img4. ...4.1.5 fastboot reboot——Fastboot模式下重启⼿机4.2 擦除分区命令擦除分区前需要按照4.1.1——4.1.3步骤⾛⼀遍,擦除会将该分区恢复到使⽤前状态1. fastboot erase system2. fastboot erase boot3. ...【准备⼯作】⾸先需要准备好刷机包,可以是⾃⼰编译的,也可以是从别处拷贝的,但⼀定要确保刷机包适⽤于你的 Android 设备。
涮机教程操作说明
一.工具安装方法
注意:此固件针对安卓系统DY-3.0.5到DY3.2.1的烧录软件
1, 首先把解压包解压,里面有涮机工具,把这个PhoenixSuitPacket考在电脑上,双击PhoenixSuitPacket这个工具文件,按照提示去安装好。
2,安装好后打开工具(下图是工具的快键图标)
打开工具后,在点击“浏览”那里把这个刷机固件“sun7i_android_sugar-dy30”所放在电脑里的路径找到选择进来,然后点“一键刷机”
二.刷机方法
1. 选择好固件后,点“一键刷机”用两头USB的连接线,一头插在电脑的USB端,用牙签或其它东西顶住机器后面的刷机键(底部盖子有一个小孔),先顶住机器刷机键,插上在把USB线插在机器靠网口的那个USB,等有反应后在松开刷机键,在弹出的对话框是,点“是”就行了,
小提示:如果没有反应,先顶住机器刷机键,插上电源,开机,在插上在把USB线插在机器靠网口的那个USB,等有反应后在松开刷机键
2.如果没有找到小孔,无法按住刷机键,可以把机子底部的脚垫去掉,然后把下面的螺丝全部取掉,把机子上盖打开,把板取下来如下图:
图片仅供参考
3.用手按住板背面的刷机键,在插电源上电,然后插上USB线的另一端,(一端插在电脑的USB上)有反应后就松开刷机键,几秒钟后弹出对话框点击“是”就可以了,
图片仅供参考
4.在此过程中要耐心等好几分钟,看进度条跑完到100%就可以了,
5 看进度条跑完到100%就可以了,这个时候拔掉USB线和电源,在重新上电开机就可以了,刷好软件第一次开机有点慢,开机进去后等15-20秒后在点“一键安装”耐心等待几分钟,
安装好后就可以使用了,。
安卓刷机助手刷机教程安卓刷机助手是一种方便快捷的工具,可以帮助我们刷机,并且提供刷机教程。
下面我将通过500字的篇幅,为大家详细介绍安卓刷机助手刷机教程。
首先,我们需要下载并安装安卓刷机助手。
我们可以从安卓应用商店、官方网站或第三方下载网站下载安装包,然后按照提示进行安装,等待安装完成。
安装完成后,我们打开刷机助手。
一般会弹出一个欢迎界面,我们可以选择进入一键刷机或者教程模式,根据自己的需求选择。
如果选择一键刷机,我们需要将手机连接到电脑上,并保证手机处于开机状态。
刷机助手会自动检测手机型号和刷机包版本,然后下载相应的刷机包。
下载完成后,按照提示操作,将手机进入刷机模式,并通过电脑将刷机包传输到手机中。
等待刷机过程完成后,手机会自动重启,并完成刷机。
如果选择教程模式,我们可以在刷机助手中找到各种具体的刷机教程,根据自己的手机型号和需要选择相应的教程。
刷机助手会提供详细的步骤和说明,帮助我们完成刷机过程。
在刷机之前,我们需要备份手机中的重要数据,因为刷机会清空手机中的所有数据。
我们可以通过刷机助手提供的备份功能进行备份,或者使用其他数据备份工具。
刷机的过程中,需要注意以下几点。
首先,确保手机电量充足,以免在刷机过程中因为电量不足导致刷机失败。
其次,要选择稳定的网络环境,以免在下载刷机包过程中中断。
另外,在刷机过程中,要按照刷机助手的提示进行操作,不要随意操作,以免出现错误。
刷机完成后,我们可以重新下载并安装自己喜欢的应用,然后恢复备份的重要数据。
总结一下,安卓刷机助手是一款方便快捷的工具,可以帮助我们进行刷机,并提供刷机教程。
在刷机过程中,需要注意备份重要数据、保证手机电量充足、选择稳定的网络环境,并按照提示进行操作。
刷机完成后,我们可以重新下载应用并恢复备份的数据。
希望以上内容能对大家有所帮助!。
Android ROM 刷机脚本updater-script 的基本流程和初级语句说明(转)简单说说刷机脚本的相关知识, 以及简单的语句说明.目的不是让你通过本帖学会如何做刷机脚本,那不是一下子可以做到的事情.但是至少可以通过本帖子,让你对刷机脚本有一个初步的了解, 并且可以初步动手修改相对简单的内容, 例如制作升级包.以下说明,都以我的Reflex S Data2Ext 2.0.2c 整包ROM为例子说明, 把update的过程流程化, 更加有助于理解.首先说明刷机脚本的路径, 其实很多人,包括部分ROM作者, 都不知道这个文件的存在.位于刷机包的如下路径:1.META-INF\com\google\android\updater-script复制代码刷机过程其实很简单, 只要你理解了流程, 和相关的语句.一般来说, 刷机就是如下的步骤:1.开始.2.清理userdata, system, cache, dalvik-cache等 (这是一个可选的步骤, 由ROM作者依据ROM的特性去决定是否要采用)3.挂载userdata, system, sdext (其中sdext为可选挂载, 依据ROM特性决定)4.释放对应的文件/文件夹到对应的区域, 例如刷机包内的目录data对应的释放到手机的userdata区域5.Symlink, 这个是必须的动作, 这个有问题, 会导致ROM出现一些问题, 特别是错误的链接或者不存在的链接,很容易引发问题.6.设置权限, 这一个步骤也很重要, 关系到ROM能否正常使用, Android是base在linux基础上的, 对于文件的权限非常重要, 没有权限, 一个应用程序是无法被执行或者读写的.7.刷入内核引导文件boot.img8.取消挂载的各个分区, 刷机结束.复制代码大概步骤就这样, 这个过程非常明了和直接, 下面我具体举例说明各个步骤的做法.1. 开始准备刷机.开始最简单, 实际上就是就是检测硬件, 打印相关信息,提示开始刷机.其中可能用到的部分函数做个简单介绍:ui_print: 就是在recovery下打印文字给用户阅览.getprop: 获取手机对应的属性assert: 你可以理解为辅助执行多行脚本命令例如如下我的部分开始代码:1.ui_print(” “);2.assert(getprop(“ro.product.device”) == “bravo” ||getprop(“ro.build.product”) == “bravo” || getprop(“ro.product.board”)3.== “bravo”);4.ui_print(“. Reflex S Data2Ext Installation .”);5.ui_print(” “);6.ui_print(“Installing Gingerbread 2.3.3 –Sense 2.1…”);7.ui_pr int(” “);复制代码首先开始答应一行空行,编译和之前的文字区别开来.然后用assert完成对手机的产品设备型号的检测最后打印, 开始安装该ROM.2. 清理这个过程是可选的,有的rom不需要wipe直接升级,就无需这个过程,有的ROM必须完全wipe才可以刷机,否则会出问题,那么rom作者为了担心你因为没有wipe而导致出了问题, 就在脚本里面处理了,尽量帮助你避免产生问题.例如我这个data2ext的ROM, 如果不wipe, 会产生一些问题, 例如FC, UID错误等, 就必须wipe, 但是为了不让用户的懒惰成为找我问问题的麻烦,我就主动帮他们”wipe”了所有必须wipe的内容.其中可能用到的部分函数做个简单介绍:fromat: 格式化相关区域的函数delete_recursive: 可以直接删除一个目录.如下我的部分代码摘抄如下:1.ui_print(” Clean up cache…”);2.format(“MTD”, “cache”);3.delete_recursive(“/data/dalvik-cache”);4.delete_recursive(“/sdext/da lvik-cache”);复制代码首先打印我要开始清理cache了然后格式化cache, 删除userdata下的dalvik-cache, 删除sd卡ext分区的dalvik-cache. 其实我这里代码还是有一些问题的,可能sdext都还没有挂载我就试图删除了.这个就属于脚本的隐患bug了.3挂载和4释放文件, 我是按照区域来组合做的, 如下分别是userdata的处理和system的处理. 其中可能用到的部分函数做个简单介绍:umount/mount: 分别是取消挂载和挂载相关的区域函数.package_extract_dir: 你可以理解为复制刷机包内的指定目录到手机的指定区域.1.ui_print(” Unpacking DATA files…”);2.unmount(“/data”);3.format(“MTD”, “userdata”);4.mount(“MTD”, “userdata”, “/data”);5.package_extract_dir(“data”, “/data”);6.ui_print(” Unpacking SYSTEM files…”);7.unmount(“/system”);8.format(“MTD”, “system”);9.mount(“MTD”, “system”, “/system”);10.package_extract_dir(“system”, “/system”);复制代码为了避免出问题,首先取消挂载, 然后格式化该区域, 然后再挂载,确保挂载没有问题.然后复制需要的文件.5和6相比前面的一些内容,属于比较难懂一点的,需要有linux相关的知识, 不再更多阐述, 贴些代码,简单说下.其中可能用上的部分函数介绍:symlink: 所谓的符号链接, 当然, windows的用户不怎么容易了解, 建议多熟悉下Linux相关内容.set_perm_recursive: 你可以理解为设置目录权限如下代码, 连接../xbin/su到/system/bin/su这个程序.1.ui_print(” Symlinking now…”);2.symlink(“../xbin/su”, “/system/bin/su”);复制代码如下代码,设置相关的权限.1.ui_print(” Setup permissions now…”);2.set_perm_recursive(0, 0, 0755, 0644, “/system”);3.set_perm_recursive(0, 2000, 0755, 0755, “/system/bin”);4.set_perm_recursive(0, 2000, 0755, 0755, “/system/app”);复制代码至于刷入内核引导文件boot.img,如下, 用assert函数实现了, 解压内核到临时区域, 写入内核文件, 删除临时文件的过程.1.ui_print(” Writing Boot.img…”);2.assert(package_extract_file(“boot.img”, “/tmp/boot.img”),write_raw_image(“/tmp/boot.img”, “boot”), delete(“/tmp/boot.img”));复制代码最后,结束, 取消挂载所有区域, 提示结束.如下代码:1.ui_print(” “);2.ui_print(” Flash finished…Enjoy it!”);3.unmount(“/system”);4.unmount(“/data”);复制代码可能大家看了还是模模糊糊的, 没关系, 没有相关的知识, 确实不容易一下子看明白, 但是饭一口口吃, 知识也是一点点懂的, 抛砖引玉,希望给与大家一点点帮助1.META-INF\com\google\android\updater-script复制代码刷机过程其实很简单, 只要你理解了流程, 和相关的语句.一般来说, 刷机就是如下的步骤:1.开始.2.清理userdata, system, cache, dalvik-cache等 (这是一个可选的步骤, 由ROM作者依据ROM的特性去决定是否要采用)3.挂载userdata, system, sdext (其中sdext为可选挂载, 依据ROM特性决定)4.释放对应的文件/文件夹到对应的区域, 例如刷机包内的目录data对应的释放到手机的userdata区域5.Symlink, 这个是必须的动作, 这个有问题, 会导致ROM出现一些问题, 特别是错误的链接或者不存在的链接,很容易引发问题.6.设置权限, 这一个步骤也很重要, 关系到ROM能否正常使用, Android是base在linux基础上的, 对于文件的权限非常重要, 没有权限, 一个应用程序是无法被执行或者读写的.7.刷入内核引导文件boot.img8.取消挂载的各个分区, 刷机结束.复制代码大概步骤就这样, 这个过程非常明了和直接, 下面我具体举例说明各个步骤的做法.1. 开始准备刷机.开始最简单, 实际上就是就是检测硬件, 打印相关信息,提示开始刷机.其中可能用到的部分函数做个简单介绍:ui_print: 就是在recovery下打印文字给用户阅览.getprop: 获取手机对应的属性assert: 你可以理解为辅助执行多行脚本命令例如如下我的部分开始代码:1.ui_print(” “);2.assert(getprop(“ro.product.device”) == “bravo” ||getprop(“ro.build.product”) == “bravo” || getprop(“ro.product.board”)3.== “bravo”);4.ui_print(“. Reflex S Data2Ext Installation .”);5.ui_print(” “);6.ui_print(“Inst alling Gingerbread 2.3.3 –Sense 2.1…”);7.ui_print(” “);复制代码首先开始答应一行空行,编译和之前的文字区别开来.然后用assert完成对手机的产品设备型号的检测最后打印, 开始安装该ROM.2. 清理这个过程是可选的,有的rom不需要wipe直接升级,就无需这个过程,有的ROM必须完全wipe才可以刷机,否则会出问题,那么rom作者为了担心你因为没有wipe而导致出了问题, 就在脚本里面处理了,尽量帮助你避免产生问题.例如我这个data2ext的ROM, 如果不wipe, 会产生一些问题, 例如FC, UID错误等, 就必须wipe, 但是为了不让用户的懒惰成为找我问问题的麻烦,我就主动帮他们”wipe”了所有必须wipe的内容.其中可能用到的部分函数做个简单介绍:fromat: 格式化相关区域的函数delete_recursive: 可以直接删除一个目录.如下我的部分代码摘抄如下:1.ui_print(” Clean up cache…”);2.format(“MTD”, “cache”);3.delete_recursive(“/data/dalvik-cache”);4.delete_recursive(“/sdext/dalvik-cache”);复制代码首先打印我要开始清理cache了然后格式化cache, 删除userdata下的dalvik-cache, 删除sd卡ext分区的dalvik-cache. 其实我这里代码还是有一些问题的,可能sdext都还没有挂载我就试图删除了.这个就属于脚本的隐患bug了.3挂载和4释放文件, 我是按照区域来组合做的, 如下分别是userdata的处理和system的处理. 其中可能用到的部分函数做个简单介绍:umount/mount: 分别是取消挂载和挂载相关的区域函数.package_extract_dir: 你可以理解为复制刷机包内的指定目录到手机的指定区域.1.ui_print(” Unpacking DATA files…”);2.unmount(“/data”);3.format(“MTD”, “userdata”);4.mount(“MTD”, “userdata”, “/data”);5.package_extract_dir(“data”, “/data”);6.ui_print(” Unpacking SYSTEM files…”);7.unmount(“/system”);8.format(“MTD”, “system”);9.mount(“MTD”, “system”, “/system”);10.package_extract_dir(“system”, “/system”);复制代码为了避免出问题,首先取消挂载, 然后格式化该区域, 然后再挂载,确保挂载没有问题.然后复制需要的文件.5和6相比前面的一些内容,属于比较难懂一点的,需要有linux相关的知识, 不再更多阐述, 贴些代码,简单说下.其中可能用上的部分函数介绍:symlink: 所谓的符号链接, 当然, windows的用户不怎么容易了解, 建议多熟悉下Linux相关内容.set_perm_recursive: 你可以理解为设置目录权限如下代码, 连接../xbin/su到/system/bin/su这个程序.1.ui_print(” Symlinking now…”);2.symlink(“../xbin/su”, “/system/bin/su”);复制代码如下代码,设置相关的权限.1.ui_print(” Setup permissions now…”);2.set_perm_recursive(0, 0, 0755, 0644, “/system”);3.set_perm_recursive(0, 2000, 0755, 0755, “/system/bin”);4.set_perm_recursive(0, 2000, 0755, 0755, “/system/app”);复制代码至于刷入内核引导文件boot.img,如下, 用assert函数实现了, 解压内核到临时区域, 写入内核文件, 删除临时文件的过程. 1.ui_print(” Writing Boot.img…”);2.assert(package_extract_file(“boot.img”, “/tmp/boot.img”),write_raw_image(“/tmp/boot.img”, “boot”), delete(“/tmp/boot.img”));复制代码最后,结束, 取消挂载所有区域, 提示结束.如下代码:1.ui_print(” “);2.ui_print(” Flash finished…Enjoy it!”);3.unmount(“/system”);4.unmount(“/data”);复制代码可能大家看了还是模模糊糊的, 没关系, 没有相关的知识, 确实不容易一下子看明白, 但是饭一口口吃, 知识也是一点点懂的, 抛砖引玉,希望给与大家一点点帮助.。
甜椒刷机助手产品说明深圳市网卓信息科技有限公司目录第一章概述 (3)1.1背景 (3)1.2应用领域与使用对象 (3)1.3主要功能及特点 (3)1.4术语与缩略解释 (4)第二章运行环境 (6)2.1软件环境 (6)2.2硬件环境 (6)第三章系统操作说明 (7)3.1刷机前准备 (7)3.2安装与初始化 (7)3.3子模块1“首页” (8)3.4子模块2“一键刷机” (11)3.5子模块3“备份还原” (14)3.6子模块4“ROM“商城” (18)3.7子模块5“下载管理” (19)3.8子模块6“实用工具” (23)第四章软件优势 (24)第五章常见问题 (24)第一章概述甜椒刷机助手是一款为用户提供简单、便捷、安全的一键刷机工具,支持多款品牌型号安卓手机在线升级及系统备份功能,并提供大量机型的甜椒专用中文恢复系统。
该工具通过快速检索云端刷机方案,无需人工干预完成刷机全过程,同时汇集海量免费ROM资源及多款神器小工具,让您体验前所未有的便捷,您不用在网上搜索、尝试刷机,有了甜椒刷机助手,一切瞬间搞定!1.1背景随着3G时代的发展,Android智能手机无论从系统性能、品牌效应、营销模式和未来拓展性上,都是领跑者,越来越多的人们都追求个性化,喜欢定制专属于自己的功能及界面显示风格的手机. 但众多玩家在忙碌的工作和生活中往往无暇去网络上浪费大量时间搜罗与尝试可靠及稳定的ROM刷机资源,因此为了满足广大机友的需求,甜椒刷机工具应运而生。
该软件汇集海量ROM免费资源、自动查找安装驱动及一键解锁、备份还原及甜椒专用中文恢复系统功能,大大满足了热爱刷机及体验时尚与个性的用户需求。
1.2应用领域与使用对象甜椒刷机助手不仅能够一键刷机,ROM商城免费下载,更是集成了多款实用小工具,它的应用领域不仅适用于所有拥有安卓手机的用户,后期我们还会不断加强安卓上网本、电子书等众多电子产品的兼容性,逐步实现更加全面及系统化的刷机软件。
TWRP Recovery使用说明:TWRP全称TeamWin Recovery Project,其实就是一个第三方Recovery,和CWM一个道理,优点是可以全触屏,操作也会简便一点。
关于刷机:1.清除数据当我们卡刷其他ROM的时候一般需要双清(wipe),即清除所有系统数据(联系人、短信、通话记录等)、安装的程序和数据等:清除数据—>滑动恢复出厂设置即可极少部分ROM可能需要手动清除/system分区,这样的话需要选择高级操作(如下图,小白不推荐使用)注意红框这两个一定不能选!一个是内置sd卡,一个是外置sd卡,如果格式化了就什么都没了!2.刷机主界面选择安装刷机包,找到你需要安装的文件,滑动确认即可,等刷机完成后选择重启系统注意红框最好保持是空的不要选(打叉是选中的)!不然就可能只能刷官方的ROM或者是我做的ROM了,其他做包的人可能懒得或者不会给ROM包签名!关于沉默之星工具箱:此工具箱为我个人开发而来,目前提供6个功能:1.获取ROOT权限使用SuperSU 2.46版本来ROOT手机,和卡刷SuperSU的效果完全一样,目前SuperSU 2.46为稳定版,故未采用其他不稳定的最新版,关于有些软件不能使用ROOT权限,可以尝试清空这些软件的数据、升级这些软件等,如果还是不行,可能是这些程序本身未完全适配Android 5.0系统,需要等他们更新!2.去除ROOT权限此功能为我根据刷入的脚本自己写的,可以完全去除选项1中获取的ROOT权限,可以方便OTA(如果你的ROOT权限是使用其他方法获取的,本功能不能保证系统文件能恢复原样!)3.备份wifi密码用于复制记录了你登陆过的所有wifi密码的一个文件到内置sd卡根目录(文件名为wpa_supplicant.conf)4.清除电池信息如果你的手机出现的电池电量不稳定的情况,可以尝试使用此选项5.官方Recovery用于还原Recovery为官方版本,只支持合并分区后的手机6.关于显示关于此Recovery的一些信息关于官方OTA:此Recovery目前是个人第一版正式支持官方OTA升级的,目前Android 5.0的OTA升级时需要系统文件(/system分区)的文件都未改过,如果你删过或者改过什么文件,那么就只能重新卡刷官方的完整卡刷包了。
=======使用注意事项=========
1,请多花几秒钟仔细看清楚程序内的提示,我知道谁都有掠过不看说明的习惯,Nagi也有,不过关于这个程序内置说明,Nagi已经尽可能的写的详细了,只用多花几秒就能免去你不成功后到处问的几分钟、几十分钟甚至几十小时的时间,绝对划得来的。
2,美化助手适用于拥有ROOT权限,且安装了BusyBox的LT26i(目前我们能下到的绝大部分Root版ROM都预装了Busybox,实在没有的,上市场下个busybox installer给装上)
3,请装好ADB驱动(都刷过Root镜像了,机器里一般都装好的,如果你换了台机器,别忘记这点)
=======使用方法===========
1.将下载下来的rar包随便放在那个目录里解开。
2.按照所须要的功能,按提示操作即可!
=========截图===========。
Android系统recovery刷机脚本updater-script语法说明1.unmount1.unmount(mount_point);2.mount_point---是mount设置产生的值。
作用与挂载相对应,卸载分区或设备。
此函数与mount配套使用。
3.unmount("/system"); 卸载/system分区复制代码2.format1.format(type, location);2.type="MTD" location=partition(分区),location参数代表分区。
3.format("MTD", "system"); 格式化system分区复制代码3.mount1.mount(type, location, mount_point);2.type="MTD" location="" 挂载yaffs2文件系统分区;type="vfat" location="/dev/block/" 挂载设备。
3.mount("MTD", "system", "/system"); 挂载system分区,返回值"/system”4.mount("ext4", "/dev/block/mmcblk1p2", "/system"); 挂载/dev/block/mmcblk1p2,返回值"/system”/system分区格式为ext45.mount("vfat", "/dev/block/mmcblk1p2", "/system"); 挂载/dev/block/mmcblk1p2,返回值"/system”/system分区格式为vfat 复制代码4.Delete1.delete();删除文件2.delete("/data/zipalign.log"); 删除文件/data/zipalign.log复制代码5.delete_recursive1.delete_recursive();删除文件夹2.delete_recursive("/data/dalvik-cache");删除文件夹/data/dalvik-cache复制代码6.show_progress1.show_progress(,);为下面进行的程序操作显示进度条,进度条会根据设置的参数前进2.show_progress(0.1, 10);show_progress下面的操作可能进行10s,完成后进度条前进0.1(也就是10%)复制代码7.package_extract_dir1.package_extract_dir(package_path, destination_path);解压package_path文件夹到destination_path目录2.package_extract_dir("system", "/system"); 解压ROM包里system文件夹下所有文件和子文件夹至/system目录复制代码8.package_extract_file1.package_extract_file(package_path, destination_path);解压package_path文件到destination_path目录2.package_extract_dir("my.zip", "/system"); 解压ROM包里的my.zip文件到/system目录复制代码9.Symlink1.symlink(...);建立指向target符号链接src1,src2,也就是软链接2.symlink("toolbox", "/system/bin/ps");建立指向toolbox的符号链接/system/bin/ps复制代码10.set_perm1.set_perm(...);设置文件的用户为uid,用户组为gid,权限为mode2.set_perm(1002, 1002, 0440, "/system/etc/dbus.conf"); 设置文件/system/etc/dbus.conf的所有者为1002,所属用户组为1002,权限为:所有者有读权限,所属用户组有读权限,其他无任何权限。
本包适用于非韩版XT720使用。
刷机步骤:
1.将“copy to SD卡”目录下的所有文件复制到你的内存卡根目录上。
2.使用RSD刷入“非韩2.1底包修改版.sbf”刷入你的手机,(刷完后你的手机开机会卡在大M字处,但不用担心,继续接下来的步骤)
3.关机状态下按住“多媒体键”+“开机键”开机,进入官方Recovery,当看到一个三角形图案时放手,同时按住“音量加键”+“照相键”
进入官方Recovery,选择第二项“apply sdcard:update.zip"会进入OpenRecovery模式,此时你可以刷任何非韩版的民间ROM(包括zip及img格式的)
4.以我的“711forXT720”为例,选择Nandroid; Restore; 711forXT720; Restore ALL; 待完成后执行WIPE,重新启动即可进入系统。
5.检查手机的用户空间是否在200MB以上的可用空间。
是才说明刷机成功。
6.进入系统后,如果重力无效或异常,请使用RSD刷入“非韩2.1_重力补丁.sbf”
备注:
如果第三步无法进入OpenRecovery,请检查你第一步的文件是否放置正确。
以后刷民间ROM如无特殊要求,都可以不用再刷底包,只要不刷底包就有200MB以上的用户可用空间。
以上。
(Updater-Script)刷机脚本说明。
如果觉得这样看起来吃力,下面可以下载一个文档附件,拿回家慢慢研究。
这是Android系统来运行updater-scripts的Edify语言的基本介绍。
大部分的Edify命名都是函数,当调用这些函数结束的时候,会返回数据给脚本。
当然,你也可以使用这些函数的返回值来确认成功与否,例如:ifelse(mount("yaffs2", "MTD", "system", "/system") == "system",ui_print("Successfully Mounted!"), ui_print("Mount Failed!");这个命令会尝试去挂载命名为“system”的“MTD”分区到“/system”。
如果挂载成功,脚本会显示“Successfully Mounted!”,否则会显示“Mount Failed!”。
现面是用在Edify的Updater-script中的函数例子:函数名称: mount函数语法: mount(fs_type, partition_type, location, mount_point)参数详解: fs_type-----------------"yaffs2" 或"ext4"partition_type----------"MTD" 或"EMMC"location-----------------分区(partition) 或驱动器(device)mount_poin------------挂载文件系统的目标文件夹(target folder to mount FS)作用解释: 挂载一个文件系统到指定的挂载点返回值: 挂载成功则返回挂载点,失败返回null函数示例: mount("MTD", "system", "/system");挂载system分区,设置返回指针"/system”mount("vfat", "/dev/block/mmcblk1p2", "/system"); 挂载/dev/block/mmcblk1p2,返回指针"/system”函数名称: is_mounted函数语法: is_mounted(mount_point)参数详解: mount_point-----------字符串,检查是否已经挂载的挂载点作用解释: 检查文件系统是否挂载返回值: 挂载成功则返回挂载点,失败返回null函数示例:函数名称: unmount函数语法: unmount(mount_point)参数详解: mount_point-----------字符串,要解除挂载的挂载点作用解释: 解除文件系统挂载返回值: 解除挂载成功则返回挂载点,失败返回null函数示例: unmount("/system"); 卸载/system分区函数名称: format函数语法: format(fs_type, partition_type, location)参数详解: fs_type-----------------字符串,数据为"yaffs2" 或"ext4"partition_type----------字符串, "MTD" 或"EMMC"location-----------------字符串, 分区(partition) 或驱动器(device)作用解释: 格式化为指定的文件系统函数示例: format("MTD", "system");格式化system分区函数名称: delete函数语法: delete(file1, file2, ..., fileN)参数详解: 字符串,要删除的文件作用解释: 删除一个文件。
最少指定一个文件;多个文件可以做为多个参数指定函数示例: delete("/data/zipalign.log");删除文件/data/zipalign.log函数名称: delete_recursive函数语法: delete_recursive(dir1, dir2,...,dirN)参数详解: 字符串,要递归删除的目录作用解释: 删除文件夹及其包含的所有内容。
最少指定1个目录;多个目录可以做为多个参数指定函数示例: delete_recursive("/data/dalvik-cache");删除文件夹/data/dalvik-cache函数名称: show_progress函数语法: show_progress(frac, sec)参数详解: frac----------------------进度完成数值Sec----------------------总秒数作用解释: 显示在Recovery系统中进度函数示例: show_progress(0.1, 10);show_progress下面的操作可能进行10s,完成后进度条前进0.1(也就是10%)函数名称: set_progress函数语法: set_prograss(frac)参数详解: frac---------------------进度数值函数示例:函数名称: package_extract_dir函数语法: package_extract_dir(package_path, destination_path)参数详解: package_path----------字符串,升级包内要提取的目录destination_path--------字符串,提取文件的目标目录作用解释: 提取升级包内目录中的所有文件到指定的目标目录函数示例: package_extract_dir("system", "/system");释放ROM包里system文件夹下所有文件和子文件夹至/system函数名称: package_extract_file函数语法: package_extract_file(package_path) 或package_extract_file(package_path, destination_path)参数详解: package_path----------字符串,升级包内要提取的文件destination_path-------字符串,提取文件的目标目录作用解释: 提取升级包内的单个文件到指定的目标目录函数示例: package_extract_file("my.zip", "/system");解压ROM包里的my.zip文件至/system函数名称: file_getprop函数语法: file_getprop(file, key)参数详解: file----------------------字符串,要检查的文件名Key----------------------字符串,返回数据中的文件的键名字作用解释: 在格式"key"="value"的文件中取得文件属性值函数示例:函数名称: symlink函数语法: symlink(target, src1, src2, ..., srcN)参数详解: target-------------------字符串,符号链接的目标srcX ---------------------字符串,要创建的符号链接的目标点作用解释: 在创建新的符号链接之前,要断开已经存在的符号链接函数示例: symlink("toolbox", "/system/bin/ps");建立指向toolbox的符号链接/system/bin/ps函数名称: set_perm函数语法: set_perm(uid, gid, mode, file1, file2, ..., fileN)参数详解: uid----------------------用户ID(user id)Gid----------------------用户组ID(group id)Mode--------------------权限模式(permission mode)fileX---------------------要设置许可的文件(file to set permission on)作用解释: 设置单个文件或一系列文件的权限,最少指定1个文件,前4个参数是必须的函数示例: set_perm(0,2000,0550, "system/etc/init.goldfish.sh");设置手机system中的etc/init.goldfish.sh的用户为root,用户组为shell,所有者以及所属用户组成员可以进行读取和执行操作,其他用户无操作权限)这里0代表用户为root2000代表用户组为shell我们来说明0550这组数据,这组数据的最后三位550,分别代表“所有者\组用户\其他用户”的权限,也就是我们在RE管理中“用户\群组\其他”三行。
我们以XXX来表示这三组权限,其中:×=4 读的权限×=2 写的权限×=1 执行的权限我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。
所以数字属性的格式应为3个从0到7的八进制数。
例如,如果想让某个文件的属主有"读/写"二种权限,需要把4(可读)+2(可写)=6(读/写)。
若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=5。
常用修改权限的命令:Set_perm 0 0 0600 ×××(只有所有者有读和写的权限)Set_perm 0 0 0644 ×××(所有者有读和写的权限,组用户只有读的权限)Set_perm 0 0 0700 ×××(只有所有者有读和写以及执行的权限)Set_perm 0 0 0666 ×××(每个人都有读和写的权限)Set_perm 0 0 0777 ×××(每个人都有读和写以及执行的权限)函数名称: set_perm_recursive函数语法: set_perm_recursive(uid, gid, dirmode, filemode, dir1, dir2, ...dirN)参数详解: uid----------------------用户ID(user id)Gid----------------------用户组ID(group id)Dirmode----------------指定目录内的目录的权限Filemode---------------指定目录内的文件的权限dirX---------------------要设置权限的目标作用解释: 设置单个目录或一系列目录的里面的所有文件的权限,最少指定1个目录,5个参数都是必须的函数示例: set_perm_recursive 0 0 0755 0644 SYSTEM:app;设置手机system/app文件夹及其中文件的用户为root,用户组为root,app文件夹权限为所有者可以进行读、写、执行操作,其他用户可以进行读取和执行操作,其中的文件的权限为所有者可以进行读写操作,其他用户可以进行读取操作函数名称: getprop函数语法: getprop(key)参数详解: key---------------------字符串,想要系统返回的属性作用解释: 这个函数是用来返指定的属性的值。