盖世兔I9100刷机心得

来源:互联网 发布:淘宝卖家怎么关闭店铺 编辑:程序博客网 时间:2024/05/16 19:08

LongLong ago就知道盖世兔更新到ICS了,受不鸟ICS的诱惑,于是决定去升级

本文分两部分:第一部分简要概述刷机的步骤,第二部分,结合刷机、工具、以及ROM,浅谈一下对android以及samsung spec android的理解

本文对于各种工具的使用不做解释,都是些机械步骤,相当简单,自行百度


Step1:备份:没备份万一失败了,联系人,短信都丢了,你就等着哭吧。

备份方法一:

       使用Kies备份,

       优点:官方备份。简单。

       缺点:只能备份联系人、短信、备忘录、音乐视频。系统设置,对于应用程序的数据没有备份。

备份方法二:

      使用CWM进行备份,(CWM是一个第三方recovery镜像,相当于PC的Ghost):

      优点:备份的完全,一丝不漏~,

      缺点:非官方,开机出现黄三角,增加刷机次数。


Step2:选择合适的刷机包(使用Kise官方升级,跳过此步)

    首先要知道自己的机器是国行还是港水、欧水、韩水、各种水,据说国行是不能刷其他水的ROM,而其他水是可以通刷的。原因据说是国行的分区表与其他水不同,要刷只能重新分区。如何区分自己是什么水。网上很多人说,进拨号盘打个神马暗码去看,我个人感觉,暗码记不住。不如使用adb来查:adb shell getprop ro.csc.country_code 然后可以查看每个国家的缩写。一目了然。


三星版本的版本号,看不懂,特别是内核和基带版本,都是XXKE4,XXLPT,估计内部有特别含义代表哪个国家,我们外部是看不懂。


   个人比较喜欢刷官方版本,原因是官方版本测试全、稳定,虽然带了很多国内没法用的应用~~但至少都是些知名软件。但是第三方做的,特别是国内会因为很多商业原因加很多乱七八糟的的软件。本人买回盖世兔时就内增20多款无用国内软件。一开始以为是三星自带的,后来刷了官方版本之后,才发现原来是国内JS加的。

水版的缺点:

1、语言不通、刷个港水还行,至少还是中文,刷个欧水也行,英文好的至少压力不大,但是韩水~~~一大堆的钢管文谁看得懂啊。

2、暂时没想出来


Step3: 刷机

方法一:采用Kies官方升级:

优点:官方升级安全可靠,无需format。资料全部保留。

缺点:1、当前版本必须是官方版本(或者是准官方,就是只是做个汉化、增减apk等),否则无法升级。2、升级后也是官方版本就是上述的语言问题。


方法二:CWM卡刷(T卡升级)

优点:等同于PC的Ghost,不说了

缺点:CWM为第三方recovery会黄三角和增加非官方刷机计数


方法三:Odin线刷

Odin工具为三星内部刷机的工具,相当于MTK的Flash Tools

Odin工具只要两个选项要注意下:

PDA一般都是放ROM的,可以是ROM整包。可以是单个内核、ROM(system.img)

Phone:一般就是放modem.img(就是基带)。

区别:PDA与通信无关的模块,Phone就是与通信有关的模块,没有Phone那么就没办法打电话(简单的理解)


优点:怎么样都能刷

缺点:最容易刷成砖,要刷回来也容易,只要有个OK的包就可以刷好



FAQ:

刷了不开机,怎么办?

1、ROM包没选对,整个正确的刷

2、format后,再开机试试,(俗称双wipe)

3、还是不行?那么别刷新的了,找个以前备份的刷回去

4、还是不行?找售后吧。可能硬件刷坏了


刷完能开机,但是用着用着进入系统后老是死机(冻屏、重启、XX已停止运行)?

说明刷的是正确的,后来软件配置出问题了。

进入安全模式(开机动画时按住音量下,进入系统后、左下方会显示安全模式,就和windows的安全模式一样)

在安全模式,不能安装apk,不会加载非系统应用(即不在system/app下面)。

如果能进入,那么找到出问题的apk,卸了,改配置,等等,然后重启正常进入,看看是不是好了,如果还有问题,那么进入安全模式,把该备份的都备份了,回复出厂设置吧,问题肯定出在装的软件上面。出厂设置必有用。

如果安全模式都进入都会死机,那么说明系统应用也出问题了,最简单的还是format(双wipe)


刷完非国行ROM,系统显示英文可以理解,但是为嘛微博、豌豆荚等国内应用也显示了英文?

因为系统设置的地区在英语国家,所以微博、豌豆荚等国内软件如果有英文资源,那么会相应显示英文资源。

修改方法是:设置->语言和输入法->语言->找到祖国。如果能找到那么万事OK,如果找不到~~~那么说明ROM里面并没有内置,这并不是说不能改成中文。因为Google当初设计时是把中文考虑进去的,所以大框架里面是包括中文区的,虽然没有选项可以选择,但是可以找到通过adb命令修改目前地区。

adb shell setprop persist.sys.language zh

adb shell setprop persist.sys.language CN

然后重启,可以发现虽然系统还是英文,但是微博、豌豆荚等国内应用变成了中文,再进入语言设置发现变成了中文区了,虽然进入后列表里面还是没有选择中文。其他有中文资源的应用,相应也会显示出中文


刷机就说到这里,下面来讲讲一些知识点:

首先说下Odin和flash tools,身为一个MTK平台的软件人员,对于flash tools 应该是相当熟悉了,而Odin就是一个三星自研发的download工具。所以用起来和flash tool没什么差别。就是工具使用上的一些问题。


三星img包的组成:
普通的img组成大概有这么几项

uboot.img  包含uboot,手机开机首先启动的部分,相当于pC的BIOS。启动后根据按键状态来选择NORMAL BOOT 还是 RECOVERY BOOT

boot.img   一般由ramdisk.img 和 kernel.img组成。ramdisk为根文件系统镜像 kernel又叫zImage,是android Linux内核,通俗的说就是驱动部分

userdata.img 为data分区镜像,挂载/data 存储用户和系统数据

system.img   system分区镜像,挂载/system 差不多整个android系统都包含在里面

recovery.img recovery镜像,属于一个小型Linux系统,与android没太多关系。大多执行T卡升级和备份和还原操作,理论上还可以对userdata.img & system.img进行操作,从而在系统崩溃时可以进行修复。CWM就是一个recovery系统,拥有较强大的功能

cache.img 没怎么研究,不清楚

更多信息参见 http://blog.csdn.net/wutianyin222/article/details/7854375 虽然写得也差不多

三星镜像分析:

boot.bin

cache.img

factoryfs.img

hidden.img

modem.bin

param.lfs

Sbl.bin

zImage


可以看得出来三星的img与原生的有很大不同,可以这么猜测:

boot.img == uboot.img

cache == cache

modem = system.img$modem MTK平台的modem包含在system里面

zImage = boot.img$kernel 原生的貌似NORMAL boot 一份zImage,recovery boot 一份zImage,而三星将zImage通用了。分两份有个好处是当normal boot的kernel出问题了,至少可以保证recovery还是可以进入的。然后通过odin刷CWM可以知道三星的zImage包含了recovery

factoryfs很大,可以认为: factoryfs = system+userdata


Sbl.bin

param.lfs 不太清楚,个人感觉像preloader,保存下载信息,有点像scatter_files


hidden.img 网上传说的隐藏分区,具体干什么不清楚。


设置存储位置:

对于系统的设置,保存的位置一般有以下几个地方

/data/data/com.android.provider.settings/databases/*.db

/data/dara/com.android.settings/shared_prefs/*.xml

以上两个位置可以通过数据库编辑器和文本编辑器(UTF-8格式)进行修改,不过data分区需要root权限访问

还有一个位置也存储这系统设置,这个地方的配置往往更加重要。而且貌似不生成文件,也就是说找不到文件直接修改,即使生成文件,也是临时的。因为每次系统启动时都会初始化这些属性。这个就是android的Property。

Property在Java层可以使用SystemProperty.get/set调用,本地方法为setprop getprop

getprop无需权限,但是setprop需要权限。

每个Property都是一个键值对,getprop无参调用输出所有属性,也可以输入key来查找相应的value

setprop  <key> <value>

每个属性都必须遵循一定的命名规则:

ro开头的表示只读属性,用setprop是无用的,一般从/default.prop /system/default.prop /system/build.prop /data/default.prop中读取。一般只能用download image来修改

persist开头表示会保存到存储设备,具体存到哪里没研究过

gsm,net等开头表示网络属性,通过系统网络与外部通信获得,建议不要手动改。



原创粉丝点击