嗨!
首先吧bootimg解包,可以得到两个文件。然后将ramdiak这个文件解包,里面有initcr文件。用文本编辑器编辑。
然后用mkbootimg工具,设置好base adress后重打包成bootimg。剩下的,或者直接刷机,或者打包签名做成zip包刷机。
需要在linux环境中完成上述操作。难倒是不难,就是很麻烦。步骤很多,稍错一点前功尽弃!弄不好,会死机的。建议你事前备份一下rom备用,必要时重刷rom。
以下教程会根据网友反馈不断补充更改,使之最终较详细。想移植,先要学会线刷救砖,百度上有线刷教程,以前太老版
的6577线刷工具不适合安卓41,后面附上V970能线刷安卓41的工具
由于V970做ROM的朋友少,且本人时间有限,所以写些教材,让大家参考,希望咱V970的ROM越来越多。
我自己移植,不如教会大家一起来移植,此教材适合小白,教程难免有错误,请批评指正。
此教材理论上适合MTK6577之间的移植,比如夏新N820、N821、嘉佳域G3、G2、G2S,V889S、纽曼N1、
联想p770、S890、优米X1、康佳W970、W960,MIUI、百度云等之间的相互移植(部分机型需要修改内核才可移植,
此处略)
MTK6577之间的的移植很简单的,不需要你会反编译,不需要你会回编译,不需要你会分析代码,不需要你会C
语言,你只要拼包就可以了
移植方法我归纳为三种,一、正向移植,二、逆向移植,三、混合移植,安卓40我多用正向移植,41我多
用逆向移植,混合移植我很少用的。
这几种移植方法各有优缺点,这里就不说了,想深入了解的百度吧
移植一般来说找分辨率相同或相近的成功率比较高(有些机型移植需要修改内核或框架才可以开机成功,此处不讨论)
现在来说说逆向移植
先选择一个合适的ROM 作为基础包(40的我选V970官方的,41的我选V970M的)再下载你要移植过来的
基准包,比如联想P770
下面以逆向移植41的联想P770为例,
基础包选V970M,要移植的基准包选联想P770
下面操作在两个压缩包之间进行,无需解压(会用文件对比工具Beyond Compare的话方便很多,推荐使用,具体百度)
一、修改脚本
打开要移植的基准包,比如联想P770
用记事本或notepad+(推荐用notepad+)打开META-IND/com/google/android/updater-script
1删除下面机型验证信息(如果脚本中没有这些语句,则跳到下一步)
本帖隐藏的内容
assert(getprop("roproductdevice") == "P770" ||
getprop("robuildproduct") == "P770" ||
getprop("roproductdevice") == "P770" ||
getprop("robuildproduct") == "P770");
2删除刷入recovery命令(如果脚本中没有下面语句,则跳到下一步)
assert(package_extract_file("recoveryimg", "/tmp/recoveryimg"),
write_raw_image("/tmp/recoveryimg", "recovery"),
delete("/tmp/recoveryimg"))
同时删除包中的recoveryimg
3修改挂载system分区
有些要移植的ROM,挂载system分区和V970的不一样,则需改成和V970一样的,如康佳W970的
挂载system分区如下
format("ext4", "EMMC", "/dev/block/mmcblk0p4", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p4", "/system");
需改为和V970一样的,修改后如下
format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
怎么知道要改成的分区是多少呢,这个可以查看自己机型官方包中的脚本,改成和官方的一样就可以了
4删除其它(如果有下面的语句也删除掉,没有则跳过此步)
assert(package_extract_file("ubootimg", "/tmp/ubootimg"),
write_raw_image("/tmp/ubootimg", "uboot"),
delete("/tmp/ubootimg"));
同时删除包中的ubootimg
二、替换System/lib和system/etc/firmware
1将基准包联想P770包中的System/lib里的modules文件整个删掉,换成V970m的
2替换System/lib里的hw(传感器相关),由于MTK6577差不多的,我省事不替换,
出错了我才做部分替换,你们想替换就替换吧。
3libcameracustomso,这是相机驱动,替换成V970m的,(lib中还有其他几个
相机相关文件,我一般是相机出错时才替换。)
5其它蓝牙驱动啊,收音机驱动啊等等,我都是省事不替换的,你们可以换一下。
6system/etc/firmware这个是基带等文件在里面,整个删除,然后替换成V970m
的(我有时候只替换firmware里面的部分文件,小白整个替换吧)
三、替换System/usr
把联想P770中的system/usr/keychars,keylayout文件夹删除,替换成V970M的
吧,我为省事,不替换的,据说如果机型分辨率相差很大,不替换会有错位现象,
像移植华为闪耀这种下面好像只有3个虚拟按键(咱们V970有4个虚拟按键,即四大
金刚健)的机型就替换掉吧。
四、替换system/vendor/lib
这个文件有些机型是不用替换的,比如移植V889S就不用,有些只需要替换里面部
分的文件,为保险,小白把整个文件夹删除,替换为V970M的吧
五、替换内核
把联想P770包中的内核bootimg删除,替换成V970m的内核bootimg
六、System/buildprop修改
buildprop你就拿联想P770的来修改一下吧,不修改也能开机的,
要改一般就改机型啊什么的,这个修改,百度一搜一大堆啊,很多大神
优化也是要改这个文件啊,此处略。
完成上诉步骤后,你就拿替换好文件后的联想P770的包来刷吧,一般你能开机了,如果
不能开机看看是不是忘记双清了,是不是卡刷工具不兼容,是不是你的刷机包太大了,如你
移植一个刷机包有600多M,而你的系统system分区只有500M,那么这个一般是不能开机的,
有些超大DATA严重压缩system的空间,这就更加不能开机了,只能精简刷机包,或分给system
足够大的空间,小白先选包比较小的来移植练习吧。能开机后也许会有BUG。
移植成功这只是基础,修复BUG才是难点,修复BUG需要一定的基础,有时需要部分移植或修改内核
安卓手机怎么刷入rom包?可能还有安卓用户不会对手机刷rom包,其实很简单,下文介绍安卓机刷入rom包方法流程,一起和小编来了解下吧! 安卓机刷入rom包方法流程: 相关下载百度云rom刷机工具 V225 官方版系统:windows All 大小:242 MB 版本:V225 官方版立即下载 一、鉴别ROM包是卡刷还是线刷包 想要刷机最先当然是要下载一个ROM包,那么我们在下载之前应该搞清楚刷机包是线刷还是卡刷包。一般在下载的时候作者都会标注ROM包是使用线刷还是卡刷方式的。 1、卡刷包(特指第三方卡刷ROM包) 卡刷ROM包一般为ZIP压缩文件,打开后可以看到:META-INF、system这两个文件,这样就就可以确定ROM刷机包是卡刷包,如果需要进一步确认相关信息可参考文章。 2、其他刷机包(包含官方线刷ROM、官方卡刷ROM包) 一般我们在ROM下载的时候就应该了解清楚ROM下载后怎么用,所以在ROM下载之前就应该弄清楚它的刷机方法,再去下载。一般官方刷机包为了区分和第三方卡刷包的区别,会采用RAR的压缩方式,但也有一部分使用ZIP压缩格式。 3、关于ROM包伪加密 我们可以看到下图的ROM包显示加密,其实这是一个卡刷包。作者为了防止他人修改ROM包,所以就伪装加密,其实对刷机毫无影响,正常刷入即可。 二、选择使用何种工具刷入ROM包 当我们弄清楚了ROM包是线刷还是卡刷包之后我们就应该去思考ROM包该如何刷入了,在这里介绍几种最常见的刷机方法。 1、刷机精灵刷入法(当然必须要刷机精灵支持您的手机机型) 2、纯手工刷ROM包方法 步骤解析:ROOT权限—刷第三方Recovery—刷入ROM包。 三、其他注意事项 在刷机时候我们应该弄清楚ROM刷机包适合自己的机型,ROM包是一一对应手机型号的,切记不能乱刷。刷机过程中应该保持电量充足,刷机之前备份好自己资料,个别机型刷机之前请备份EFS基带等重要资料,以免刷机后丢失串号、无信号等情况,刷机之前进入Recovery模式后应该首先执行双清(双WIPE)再刷入ROM包。
转载 我自己是个刷机狂人,恰巧也爱好开发APP,因此对ROM移植和定制做过一些研究和了解。其实rom定制不需要多少的编程技巧(当然有基础会更好),如果你只为定制你想要的一些功能,只要进行整合再重新打包就可以了。你可能会看到在很多论坛的rom发布者并没有多少的java,c,c++知识,但他们可以弄出一些非常棒的rom。相反的如果你用过MIUI,华为的rom,Flyme等等,这很难是一个人弄出来的,需要一个团队包括产品经理、设计师、测试人员、编码人员等等。1首先是准备工作无论你是windows、linux还是mac都可以进行rom的定制,当然对于windows你需要一些工具来完成相应的工作。这里仅以windows为例,在定制之前需要以下的工具: JDK(java development kit java开发组件,这个组件必须第一个被安装,并且配置好环境变量) Android kitchen搭建,为何叫安卓厨房,个人觉得非常的形象!因为你定制rom就像烧菜,烧菜需要厨房!对不对,所以你可以讲android kitchen理解为定制rom所需要的一个环境。 Cygwin,这个东西是为了windows环境下开辟出一个类UNIX模拟环境(如果你是搞嵌入式开发的,那么这个东东一定非常的熟悉) Apktool/Apkmanager(Apktool可能是当今最为流行的apk工具包,由解包、打包、签名程序组成。而Apkmanager是另一款apk反编译利器,当Apktool不行的时候或许它可以排上用处) Notepad/Editplus(这个在你修改代码的时候需要用到,如果只用文本工具有点寒掺是否) winrar/7-zip(解压工具) 2工具准备完毕后,先安装JDK,JDK搞定后。安装cygwin(建议从官网下载)。最后将下载好的kitchen放入cygwin/home/目录下,下载下来的Kitchen名字很长,建议改成Kitchen。另外需要注意的一点是所有目录的名称不要有空格。3当你完成jdk/cygwin/kitchen的准备工作后,就可以使用cygwin进行rom的修改了!-------------------------------------------------------图1-1 cygwin主界面窗口-------------------------------------------------4接着你就要进行一些个人定制的修改行为了,这里分两种,一种是基于一个基本rom,另一种就是你木有一个基本rom(这种情况下你需要自己建立必要的文件夹和文件,因为框架就是这么设定的,所以你必须要这么做)。这里还有一些细节操作,不赘述了。5这里基本上已经可以进行需要的修改了,修改分两种,一种是简单的信息修改,这个通过Kitchen就可以做到。另一种是手动修改,这可以修改的东西非常的多,我也有很多不知道的地方,比如状态栏的图标修改、内置app的修改、启动画面的修改、各种脚本修改(优化脚本可优化各种速度,比如wifi脚本,wifi会变快,gps脚本,定位会变快。)、改变字体、主题修改、音频效果修改等等,可以修改的地方也非常的多。6最后完成修改之后,依旧使用Kitchen进行打包就可以了。基本上简单的定制工作已经完成,非程序员做这些工作是绝对木有问题的,懂点皮毛都可以完成这些工作,但却可以做出属于你自己的ROM!---------------------------------------------------------------------------------------------------------------------------------当然还有大神可以直接从源代码编译做真正的rom,这个就比较麻烦了,需要类似Ubuntu环境,这里等以后知识储备够了再进行补充,但是个人认为,上面这个方法真的够用了,不过从底层的角度而言从源代码编译才是真正的做一个第三方的rom。---------------------------------------------------------------------------------------------------------------------------------最后推荐大家xda的这个版块,想学rom定制,这里有你需要的大部分知识!而你需要做的就是学习和实践。
欢迎分享,转载请注明来源:品搜搜测评网