瑞芯微2816和2808开root,修改固件教程!
莹莹气球庆典策划
2024-05-27 08:26:36
最佳回答
1 前面讲解了那么多了,前戏应做的很足了,现在开始介绍各位同鞋最为关心滴事、最最为想做滴事情,我再次手把手滴开始教各位同鞋鸟,希望能和大家一起达到目的,冲向高潮。吼……!!!2固件精减、添加apk软件 将system.img解包,解包后将../system/app目录下的不需要的apk文件进行删除、修改、替换,以制作适合自己的固件包,对于app目录内不清楚用途的apk文件,请勿随意删除,以免引起不必要的问题。 注意:据说个别apk软件需自带的库文件支持才能正常运行,此时可用winrar等压缩软件将apk文件打开(将.apk后缀改成.zip,然后用压缩软件打开即可),从里边找到后缀为.so的文件,然后放入../system/lib文件夹下即可。 修改完成后,然后进行打包、升级、测试。3提取root权限 将system.img解包,解包后将“取root权限文件”目录中的superuser.apk、su两个文件分别放进下列目录: superuser.apk ---> ../system/app su ---> ../system/bin 打开一个shell,然后用chmod 6755修改文件的权限,如图示。 chmod 6755 /system/app/superuser.apk chmod 6755 /system/bin/su4上述命令需注意大小写,否则有可能会出错。修改完成后打包即可。 我开始在验证过程中,因使用了较老的root explorer版本根本不能进入资源管理器,于是更换了最新版v2.94,是能进资源管理器界面了,但是却不能修改或删除system下的文件,可能有人会怀疑这是否真正的取得了root权限?我可以很负责的告诉你,已经取得了root权限,因为运行drocap2这类root权限的软件是灰常正常滴。 嗯,其实这里又涉及到一个专业知识了,请坐好捏,哎,后面那位同鞋别看别人了,说的就是你。现在仔细听我讲解: 瑞芯微android系统固件的system分区采用的是cramfs文件系统。 cramfs文件系统是一个压缩式的文件系统,它并不需要一次性地将文件系统中的所有内容都解压缩到内存之中,而只是在系统需要访问某个位置的数据的时侯,马上计算出该数据在cramfs文件系统中的位置,将其实时地解压缩到内存之中,然后通过对内存的访问来获取文件系统中需要读取的数据。cramfs文件系统中的解压缩以及解压缩之后的内存中数据存放位置都是由cramfs文件系统文件系统本身进行维护的,用户并不需要了解具体的实现过程,因此这种方式既方便,又节省了存储空间。cramfs文件系统的数据都是预先经过处理、打包的,这种系统是一种只读、不支持写操作的文件系统,在刷到机器里后,这个分区就是只读的,不能做任何更改。所以,刷机后是不能对这个系统进行修改的,只能在刷机前对system.img进行解包、修改,以达到我们的目的。 5修改用户分区大小 部分同鞋使用了mid一段时间后,就会为用户区空间太小装不了几个软件而发愁,其实,你不用发愁,只要稍稍修改一下两个文件就可以将分区加大。现在出产的mid一般都是配备2gb以上的内存,划个几百m至1g都不会太影响本机使用的,再者现在tf卡那么便宜,都是标配2~4g以上的容量了。所以即便将用户区再划大些都不会有太大的影响。 (题外话:还有同鞋在寻找app2sd的功能,个人建议不如修改一下这两个文件,将用户区划大一些来得实在,一来在本机上读取软件稳定性会高些,二来不会因tf卡的问题导至软件出问题嘛!) 言归正传:将用户升级包update.img解包(如果已经是量产升级包,略过此解包操作),找到其中的hwdef、parameter两个文件并备份。再用ue(ultraedit32,其实用记事本也可以,不过看起比较乱)修改两个文件的分区偏移量和分区大小,是以16进制表示,前一个分区的偏移量和大小加起来就是后面一个分区的偏移量,我们需让用户分区增大,所以只修改用户分区即可,只需修改userdata、user两个分区的偏移量和大小即可。 a.修改hwdef文件: 用ue打开hwdef,找到如下部分的代码(请注意红色部分数据): mtd_id=rk28xxnand #format: part_name offset:size parameter 0x00000000:0x00001000:fh m**c 0x00001000:0x00001000:f kernel 0x00002000:0x00003000:f boot 0x00005000:0x00002000:f recovery 0x00007000:0x00003000:f system 0x0000a000:0x0001e000:f backup 0x00028000:0x00026000: cache 0x0004e000:0x0001e000: userdata 0x0006c000:0x0001e000: user 0x0008a000:0xffffffff: end 简单解释一下,上面的userdata分区表示:偏移量为0x0006c000,分区大小为:0x0001e000,比如我们需将使用空间由原来的123m增大一倍到246m,即0x0001e000+0x0001e000=0x0003c000,那么,下一个分区user的偏移量就变成6c000+3c000=0x000a8000,修改后新的数据如下: userdata 0x0006c000: 0x0003c000: user 0x000a8000:0xffffffff: 修改后保存。对hwdef的修改完成了。 b.修改paramete**件 再用ue打开parameter,找到最后一行,其部分代码如下: cmdline: noinitrd c,115200n8n androidboot.c init=/init root=/dev/mtdblock2 mem=128m@0x60000000 mtdparts=rk28xxnand:0x00001000@0x00001000(m**c),0x00003000@0x00002000(kernel),0x00002000@0x00005000(boot),0x00003000@0x00007000(recovery),0x0001e000@0x0000a000(system),0x00026000@0x00028000(backup),0x0001e000@0x0004e000(cache), 0x00040000 @0x0006c000(userdata),-@ 0x000ac000 (user) 此段代码@前面表示分区大小,@后面表示偏移量。userdata前面的6个分区大小和偏移量都能和hwdef文件中的一一对应起来,但userdata的分区大小明显要大很多,暂不明白为何要加大一些。查看过几个不同机型的这些文件,大小也有差距,在22000-62000(16进制)之间;为了不出问题,我们也依照那样做吧,所以我们也在userdata空间的大小上面也加上22000至62000之间的一个数值吧。 所以,此处userdata的分区大小为:3c000(扩容后的分区大小)+22000=5e000,那下一个分区user的偏移量也变成了:5e000(新分区大小)+6c000(偏移)=ca000。修改过的数据如下: 0x0005e000@0x0006c000(userdata),-@0x000ca000(user) 修改后保存。对parameter的修改也完成了。用刚才改好的两个文件替换原先的两个文件,然后重新打包、升级。 不同机型分区大小可能会有差别,所以附件中放有原始的和修改好的两个文件,以供参考!此文件仅供参考,请勿直接替换,出了问题概不负责!6修改设置中“关于mid”中的机型型号 将system.img进行解包,解包后在system文件夹下找到build.prop7将build.prop文件用ue打开,找到ro.product.model=sdkdemo一行,将其中的sdkdemo改成你想要显示的文字,比如bm999,修改后保存,然后重新打包烧录即可。 8 9 美化界面 这个又涉及到apk文件的修改了,这部分的教程就不作过多的介绍了,有需要的同鞋可以上网去google下相关资料,大把的教程可供参考。 将system.img进行解包,解包后在../system/framework文件夹下找到framework-res.apk,将.apk后缀改名为.zip,然后将其中的assets、res两个文件夹解压出来开始我们的美化工作。要注意修改后的图片分辨率大小和图片格式要与原来保持一致,否则会出错的哦。 a.界面美化 找到解压后的下列两个目录,这两个目录存放所有界面的系统图标,可对需要修改的界面小图标进行美化: ../framework-res/res/drawable ../framework-res/res/drawable-land b.修改开机logo(android启动时,出现闪动的android字样的动画图片) android 的系统登录动画类似于windows系统的滚动条,是由前景和背景两张png图片组成,这两张图片也是位于../system/framework/framework-res.apk文件当中。前景图片(android-logo-mask.png)上的android文字部分镂空,背景图片(android-logo-shine.png)则是简单的纹理。系统登录时,前景图片在最上层显示,程序代码控制背景图片连续滚动,透过前景图片文字镂空部 分滚动显示背景纹理,从而实现动画效果。以相同的原理修改或替换下面两张图片即可达到目的。 ../framework-res/assets/images/android-logo-mask.png ../framework-res/assets/images/android-logo-shine.png android-logo-mask.png :android默认的前景图片,文字部分镂空,大小256×64 android-logo-shine.png :android默认的背景图片,有动感效果,大小512×64 美化完成后,将修改过的图片替换掉apk文件中相应的文件,然后将apk文件中meta-inf文件夹内的cert.sf、cert.rsa两个文件删除,然后用签名工具重新签名。再将签名后的apk文件替换掉原先的文件,之后重新打包成system.img并用工具升级即可。10桌面美化 感觉桌面默认的公版壁纸、搜索条、快捷键等图标太难看?没问题,把它都换了吧。 将system.img进行解包,解包后在../system/app文件夹下找到launcher.apk,将.apk后缀改名为.zip,然后将其中的res文件夹解压出来,将需要美化的图片进行美化、替换,修改好后按照上面的方法将文件替换、签名、打包再升级即可。 基础篇教程完毕!敬请关注进阶篇。因本人水平有限,教程中难免会有错误之处,欢迎指正! end 20210311