一,准备好android21源码编译环境以及手机USB调试环境。
二,将手机上硬件驱动程序以及相关的配置文件通过ADB命令保存好。
三,针对不同的手机机型,制作相应的vendor配置文件。
四,编译源码。
五,通过手机提供的bootloader刷机或者直接以recovery的方式更新ROM。
在以上五个步骤中,其中最难处理的便是第2个步骤,这个步骤需要熟悉每个手机机型的硬件参数,并且能够在手机上找到相关的驱动程序以及了解他们如何配置。而CyanogenMod团队公布的源码当中,己经将相关的工作做好了,编译源码之前仅仅需要执行相应的shell命令,便可顺利的下载相应的手机驱动程序以及配置文件。
下面是移植步骤,供参考:
一,首先需要下载CyanogenMod 508的源码:
$ mkdir android-cm5
$ cd android-cm5
$ repo init -u git://githubcom/CyanogenMod/androidgit -b eclair
$ repo sync
二,下载CyanogenMod需要的一些共同文件,如果想最终版本中不需要这些APK,也可以通过配置/vendor/cyanogen/cyanogenmk文件将这些需要的APK COPY命令注释掉。
$ cd vendor/cyanogen/
$ /get-rommanager #下载一个RomManagerapk包,主要是刷ROM用的。我没用过。
$ /get-google-files #其它的一些google开发的android apk包,我也没有用过!
三,下载针对htc legend(g6)的vendor
$ cd //vendor/htc
$ git clone git://githubcom/aleho/android_vendor_htc_legendgit #下载针对htc legend(g6)手机的vendor,里面包括相关的配置参数,以及从手机上下载驱动程序的SHELL命令。
$ mv android_vendor_htc_legend/ legend
$ cd legend
$ /extract-filessh #确保这个命令执行将你的手机连接好电脑并且开了手机USB调试,adb命令可以连接手机。这个过程主要是下载htc legend(g6)驱动程序以及配置文件。
四,针对CyanogenMod 508源码打上htc legend(g6)的补丁包,这个补丁包主要是wifi和触摸屏的,如果不做,触摸屏将无法触摸以及wifi功能无法启动。
1、三星官网没有手机刷机(fastboot模式\\工厂代码\\工程模式/rom/基带/recovery/水货修改中文)等相关资料提供。
2、由于自行刷机写入系统存在风险性,如果手机系统出现问题,建议携带包修卡,购机发票和手机到就近的三星电子服务中心,由工程师解决问题。
3、不建议自行操作,以免造成不必要的损失。
非常抱歉,三星手机官网没有提供刷机软件。由于刷机存在风险,如因自行刷机后导致的手机问题,还有可能会影响包修,因此我们不建议您自行刷机。
若手机因系统故障无法正常使用或自行刷机后导致手机出现问题,建议您将机器送到售后服务中心,由工程师帮助检查处理。
补充:
1、部分第三方网站或论坛提供的刷机包,由于非三星官方原版系统,存在不稳定、兼容性问题,如果非专业人员,不建议进行尝试刷机。
2、为了使用户更好的使用体验,三星手机提供了系统更新服务,若有了新的固件,会有推送更新通知。可以进行以下操作:设置-(关于手机/关于设备)-系统更新-自动更新-开启。
1、对应自己机型的rom kitchen(即厨房,不同的厨房功能不尽相同,然而基本功能都一样:分解/合成rom,只是分解得有多深罢了。我在用的这个是NTC_HTC S1厨房,下载地址:http://wwwmobifocusnet/redirectaspxurl=http%3a%2f%2fwwwrayfilecom%2ffiles%2fad1aecfa-9535-11de-853d-0014221f469f%2f ,可供大家参考。本教程也以此kitchen为示例,向大家讲述移植过程)。 2、xipporterex22-37(一个XIP移植工具,其实还有别的功能的。内有22-37共15个工具,而我用到的只有32。该工具在上面的NTC_HTC S1厨房中有包含)。 3、Beyond Compare 3(一个文件比较工具,在移植基本组件及排查故障时经常用到。)所谓“移植”,就是使别的rom能够结合你机子的硬件而在你的机子里运行,的这么一个结合过程。不同的机型有不同的硬件或驱动,若直接拿取作自己的系统, 会刷成白屏甚至变砖的。那么,移植工作往往需要两个rom,就是你机子自带的rom,和你想要被移植的目标的rom(以下简称“目标rom”)。当然,你 也可使用“模板”来移植,这一点我们稍后再作了解。 总体流程:分解rom——移植XIP——移植SYS——移植OEM——定制OEM(可选)——修改initflashdat——使用mybuildOS开始定制——合成rom下面简要说一下各步骤:分解rom:需 要分解两个rom(是哪两个rom呢?上面有说明)。不同品牌机型有不同的刷机rom,比如有bin格式、osnb格式、nbh格式 和img格式等等,然而要注意的是rom的压缩方式。压缩方式分两种:XPR和LZX。不同格式需要的分解工具是不同的。像LZX压缩方式,代表就是 乐讯K800。XPR的机型比较多,如睿峰、睿智、金鹏M9I等我们都熟知的高仿机型。要分解rom,请明确你要分解的rom的压缩方式。 除了查阅相关资 料外,这里倒有一个方法:尝试把目标rom放在你的kitchen工具里分解以下,看分解后得不到OEM文件夹吗?分解出的SYS文件夹内只有那么零星几 个文件吗?如果两个问题答案都为“是”,那么就证明,这个rom的压缩方式和你的自带rom不同了。此时你需要用针对此压缩格式的kitchen来分解 了。移植XIP:XIP 就是机子的核心信息了。移植XIP用到的工具,我向大家推荐的是xipporterex22-37。这是一个一键式移植工具。使用方法简单,可在网上找到 相关资料。我是用22-37中的32的。通过此软件移植出来的新XIP:xip_outbin,可以根据你的kitchen的操作提示植入。刚才我们说的,分解rom,分解出来后可以得出两个文件:SYS和OEM(有的kitchen工具只分解出DUMP文件夹,这时怎么办呢?请参考文章末尾的常见疑难及参考解答)。移植SYS:移植SYS,就是保留你原机自带ROM分解出来的SYS文件夹下的ROM文件夹、VM文件夹、和Metadata文件夹下的packagescif及 packagessof文件。其他的删除。然后把目标ROM分解出的SYS文件夹下的除了ROM文件夹、VM文件夹和Metadata文件夹外的所 有文件复制到自带ROM的SYS文件夹中去,再把目标ROM中SYS\\Metadata文件夹中的除了packagescif及 packagessof文件之外的文件复制到自带ROM的SYS\\Metadata下。这样进行文件替换即可。 移植OEM:通常,分解出的OEM文件中,虽然也有不少的文件,但可找到OEMDrivers、OEM_DPI_96、OEM_Lang_0804、OEMMISC这四 个文件夹和一张OEMcer的证书。证书几乎是通用的,大可不必替换。而上面的这4个文件夹OEMDrivers、OEM_DPI_96、 OEM_Lang_0804和OEMMISC,对于哪个保留哪个替换,网上有几种说法,而经验认为,可只保留并必需保留原机的OEMDrivers(当然,如果你移植的不是rom,而是“模板”,那么保留的东西将会是不同的,这一点我们在文章末尾的常见疑难及参考解答中再作说明)。其他的可用目标rom 的替换。为保证成功,请参照上面移植SYS的方法,把文件删了再进行复制,而不要直接复制。这两种替换方式是不同的。定制OEM包:定制OEM包,可把你喜欢的软件捆绑进你的ROM内,成为机子自带软件,但随着自带软件增多,会影响机子的运行速度。而定制OEM包也并不是移植ROM必需的步骤,故在此我们不作说明。 修改initflashdat:修改initflashdat文件,其实就是修改开始菜单的快捷方式。initflashdat文件一般放在OEM\\OEM_Lang_0804下。打 开时请用相关软件,把编码译为Unicode码。这里提供给各位的参考软件为:Unicode和Notepad2。各位可通过查看此文件,看看程序是如何 建立快捷方式的,从而作出修改。而在ROM移植中,如果你的自带rom为纯净ROM ,并且不打算自行(自行,指的是,不通过mybuildOS来定制)定制OEM包,那么这一步可忽略了。如果你的自带ROM不是纯净ROM的话,关于提 纯,我们在文章末尾再作讨论。使用mybuildOS开始定制:mybuildOS 程序能根据你修改后的SYS和OEM文件夹,制造出一个DUMP文件夹,从而提供给工具作合成ROM素材使用。打开mybuildOS程序(通常第一次运 行,会提示cannot find file configint,这并不影响正常使用,因configint文件,是使用mybuildOS点击保存后,生成的一个文件,其用意只是方便你在下次 使用mybuildOS时,不必再做相关设置而已)。我们可以看到的分为两种情况: 1、空白的,什么都没有。这种情况是因为缺少optionxml文 件,通常在ROM-ROM移植时出现; 2、里面有软件可选。这种情况通常在移植模板时出现。针对第二种情况,我们在文章末尾再做说明。而第一种情况,虽然 界面空白,然而大可不必理会,只需要直接按下界面上的运行按钮进行定制就可以了,而这样定制的意思是,默认你已选择了跟随目标ROM移植过来的所有软件。使用mybuildOS,经常会出现问题的。而常见的问题有以下两种: 1、文件重复(already exists):通常为OEM文件夹中某文件与SYS文件夹中某同名文件相同(所谓相同,指的不仅仅是名字相同),可在界面下方找到该问题文件所在目录。 删除其一即可。而我建议各位,删除OEM中的为佳(如问题文件在OEMDrivers目录中,则删除SYS中的最好,强烈建议各位,不要改动 OEMDrivers中的文件)。这里推荐大家使用文件比较器Beyond Compare 3。比较前请先备份。细心比较不要删错了。尤其是不要看见凡是同名的都删掉。要具体分析一下。 2、initflashdat文件缺失(String reference not set a instance of a StringParameter name:s)。该问题是由于OEM_Lang_0804文件夹下的initflashdat缺失所致。此外还有别的问题,不常出现,然而大家可另阅资料。这里提供一个网址:http://www592cxcom /viewthreadphptid=811&highlight=mybuildOS 内里有些许别的问题的解决方案。合成rom:通过mybuildOS定制后,可进行ROM合成。值得注意的是,合成的是经改造后的自带ROM,这一点很多人初学的朋友是搞不清楚的,贯穿ROM移植的基本原理,就是拿新的东西去更新自己。合成后改名,进行刷机即可。说到这里,系统移植算是结束了。
欢迎分享,转载请注明来源:品搜搜测评网