edit_note帖子
265
stars积分
266
event加入
2012-08-17
安卓交流
替换字体忘记修改权限导致无法开机非刷机救机教程
schedule发表于 2013-07-27 13:39:00
visibility查看 1,042
chat_bubble回复 64
#1 楼主
很多喜欢玩手机的同学都喜欢修改字体给手机这样那样的做美化,不过经常打架都会忘记修改手机的权限。权限这个东西对于安卓手机来说是非常严重的问题,一不小心系统就瘫痪无法开机咯。通常许多童鞋都会想到刷机,不过刷机会让手机里的备份资料被刷掉,今天小编就交教给大家一个不用刷机的救机办法。
方法如下:
· 前提条件是有读卡器,没有的话可以借助旁边朋友的手机,我昨天就是用的同事的手机。
· 将附件的zip文件复制到你的手机SD卡中。
· 到Recovery下,将这个zip文件刷进去。
这个zip文件其实很简单,一般我们刷机时刷机包里面会有很多的文件,以及刷机脚本,这个zip文件里面就只有一个脚本,以及运行脚本所需的程序。
脚本内容如下:
1 ui_print(“Updating fonts permission“);
2 mount(“ext3“, “/dev/block/mmcblk1p21“, “/system“);
3 set_perm(0, 0, 0644, “/system/fonts/DroidSans.ttf“);
4 set_perm(0, 0, 0644, “/system/fonts/DroidSans-Bold.ttf“);
5 set_perm(0, 0, 0644, “/system/fonts/DroidSansFallback.ttf“);
6 ui_print(“Finished!“);
解释一下,第一句话和最后一句只是显示两条消息,没什么实际作用,第二句话是加载手机的系统分区,也就是我们在RE浏览器里面看到的system文件 夹,第三句到第五句就是改字体权限的脚本了,使用set_perm这个脚本函数设置字体权限,具体语法这里就不写了,大家可以自己去查。这里假设你只改动 了这三个字体的权限,如果你还修改了其他字体的权限,那么干脆写成这样,一了百了:
7 ui_print(“Updating fonts permission“);
8 mount(“ext3“, “/dev/block/mmcblk1p21“, “/system“);
9 set_perm_recursive(0, 0, 0755, 0644, “/system/fonts“);
10 ui_print(“Finished!“);
其实这样更简洁,但是做的事情实际要比前一段脚本多,这是将fonts文件夹中所有字体的权限都重新设置了一遍。
推而广之,这种方法不仅仅可以解决这种忘记修改权限的问题,有时候误删某些系统文件导致开不了机的问题也可以这样解决,只要把删掉的文件加到zip文 件里面,刷进系统,同时设置权限即可。在zip文件中建立system文件夹,把删掉的文件按照在defy系统中的文件夹路径放到这个system文件夹 下面,在脚本文件里面添加命令将system文件夹内容复制到defy的system文件夹中,再设置权限。只需要比前一段脚本多加一句话:
11 ui_print(“Updating fonts permission“);
12 mount(“ext3“, “/dev/block/mmcblk1p21“, “/system“);
13 package_extract_dir(“system“, “/system“);
14 set_perm_recursive(0, 0, 0755, 0644, “/system/fonts“);
15 ui_print(“Finished!“);
这是我不久前不慎将所有字体都删除了之后,开机卡M,为了将字体刷回去写的脚本。第四句的set_perm_recursive函数是针对文件夹的,如果只是单个文件,用set_perm就行。
有人要问,你怎么知道有哪些字体呢,字体从哪来,答案是从各位大侠的刷机包里面来。误删了哪个文件,只要将刷机包解压,找回对应的文件就可以。
最后提醒大家一下,不要用windows的notepad(也就是记事本)来编辑脚本文件,否则是刷不了的,因为android系统的换行方式和windows的换行方式是不一样的(我就因为这个失败了好几次,还好后来找到原因了),最好使用 emeditor这样的文本编辑工具,可以在保存时将换行符转换为android需要的格式。
方法如下:
· 前提条件是有读卡器,没有的话可以借助旁边朋友的手机,我昨天就是用的同事的手机。
· 将附件的zip文件复制到你的手机SD卡中。
· 到Recovery下,将这个zip文件刷进去。
这个zip文件其实很简单,一般我们刷机时刷机包里面会有很多的文件,以及刷机脚本,这个zip文件里面就只有一个脚本,以及运行脚本所需的程序。
脚本内容如下:
1 ui_print(“Updating fonts permission“);
2 mount(“ext3“, “/dev/block/mmcblk1p21“, “/system“);
3 set_perm(0, 0, 0644, “/system/fonts/DroidSans.ttf“);
4 set_perm(0, 0, 0644, “/system/fonts/DroidSans-Bold.ttf“);
5 set_perm(0, 0, 0644, “/system/fonts/DroidSansFallback.ttf“);
6 ui_print(“Finished!“);
解释一下,第一句话和最后一句只是显示两条消息,没什么实际作用,第二句话是加载手机的系统分区,也就是我们在RE浏览器里面看到的system文件 夹,第三句到第五句就是改字体权限的脚本了,使用set_perm这个脚本函数设置字体权限,具体语法这里就不写了,大家可以自己去查。这里假设你只改动 了这三个字体的权限,如果你还修改了其他字体的权限,那么干脆写成这样,一了百了:
7 ui_print(“Updating fonts permission“);
8 mount(“ext3“, “/dev/block/mmcblk1p21“, “/system“);
9 set_perm_recursive(0, 0, 0755, 0644, “/system/fonts“);
10 ui_print(“Finished!“);
其实这样更简洁,但是做的事情实际要比前一段脚本多,这是将fonts文件夹中所有字体的权限都重新设置了一遍。
推而广之,这种方法不仅仅可以解决这种忘记修改权限的问题,有时候误删某些系统文件导致开不了机的问题也可以这样解决,只要把删掉的文件加到zip文 件里面,刷进系统,同时设置权限即可。在zip文件中建立system文件夹,把删掉的文件按照在defy系统中的文件夹路径放到这个system文件夹 下面,在脚本文件里面添加命令将system文件夹内容复制到defy的system文件夹中,再设置权限。只需要比前一段脚本多加一句话:
11 ui_print(“Updating fonts permission“);
12 mount(“ext3“, “/dev/block/mmcblk1p21“, “/system“);
13 package_extract_dir(“system“, “/system“);
14 set_perm_recursive(0, 0, 0755, 0644, “/system/fonts“);
15 ui_print(“Finished!“);
这是我不久前不慎将所有字体都删除了之后,开机卡M,为了将字体刷回去写的脚本。第四句的set_perm_recursive函数是针对文件夹的,如果只是单个文件,用set_perm就行。
有人要问,你怎么知道有哪些字体呢,字体从哪来,答案是从各位大侠的刷机包里面来。误删了哪个文件,只要将刷机包解压,找回对应的文件就可以。
最后提醒大家一下,不要用windows的notepad(也就是记事本)来编辑脚本文件,否则是刷不了的,因为android系统的换行方式和windows的换行方式是不一样的(我就因为这个失败了好几次,还好后来找到原因了),最好使用 emeditor这样的文本编辑工具,可以在保存时将换行符转换为android需要的格式。
全部回复 (64)
2013-07-27 13:42:00
沙发
这帖不错,该顶!
2013-07-27 13:48:00
板凳
好帖,要顶!
2013-07-27 13:49:00
地板
我想问问楼主,没recovery怎么办?怎么解决?这不是个万能的办法!OK?
2013-07-27 13:51:00
#5
这帖不错,该顶!
2013-07-27 14:13:00
#6
支持你!
2013-07-27 14:21:00
#7
市安卓的都有吧,
2013-07-27 14:23:00
#8
大神,刷进去啊。双清后选择*.zip一秒就回到Recovery界面去了。
2013-07-27 14:44:00
#9
看帖回帖是美德!
2013-07-27 14:46:00
#10
支持你!
2013-07-27 14:51:00
#11
市安卓的都有吧,
2013-07-27 15:05:00
#12
好帖,要顶!
2013-07-27 15:10:00
#13
你还没回答我的问题呢…
2013-07-27 15:40:00
#14
你牛,我顶!
2013-07-27 15:44:00
#15
楼主把zip文件发上来吧,感谢万分!急~
2013-07-27 15:45:00
#16
支持你!
2013-07-27 15:58:00
#17
看帖回帖是美德!
2013-07-27 16:00:00
#18
你牛,我顶!
2013-07-27 16:34:00
#19
你牛,我顶!
2013-07-27 17:19:00
#20
你不明白我意思,我是说,开不了机。然后又没刷recovery。肿么办?recovery又只能卡刷的,怎么办
2013-07-27 17:36:00
#21
这帖不错,该顶!
登录 后才能回复
flag举报帖子