《2022年安卓系统固件包修改基础教程 .pdf》由会员分享,可在线阅读,更多相关《2022年安卓系统固件包修改基础教程 .pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录:瑞芯微 android 固件包介绍一、解包、打包二、固件升级三、固件修改1 固件精减、添加 APK软件2 提取 Root 权限3 修改用户分区大小4 修改设置中“关于MID”中的机型型号5 美化界面6.美化桌面瑞芯微 android 固件包介绍瑞芯微的 android 固件包分两种:一种为 量产升级包(暂且如此称呼吧,PS:其实称之为开发包较为合适,因为是使用开发工具进行升级。),使用量产升级工具RKAndroidTool.exe 进行升级,量产升级包的文件包含:HWDEF、package-file、parameter、recover-script、Rock28Boot(L).bin、u
2、pdate-script和一个 Image文件夹,里边又包含 boot.img、kernel.img、misc.img、recovery.img、system.img 五个镜像文件。System.img 包含所有用户资源,大部分情况下修改system.img 文件就能达到我们的目的。本文也是重点围绕system.img 的修改。另一种为 用户升级包(也暂且如此称呼吧),即将上述量产升级包的文件用工具打包成一个文件 update.img,使用用户升级工具RKAndroidDM.exe进行升级。此文件包需通过解包成量产升级包后才能修改,修改后再打包成 update.img进行升级。名师资料总结-精
3、品资料欢迎下载-名师精心整理-第 1 页,共 15 页 -一、解包、打包对于 update.img 的解包、打包,需用到附件“打包解包工具”中的AFPTool.exe、mkupdate.bat、unpack.bat 三个文件,其中unpack.bat 为解包工具,mkupdate.bat 为打包工具。将用户升级包 update.img 和上述三个文件放在同一目录下,双击 unpack.bat 后,就可以将用户升级包解包成6 个文件和一个 Image文件夹,即和量产升级包完全相同的文件。此时可对相应的文件进行修改,修改完成后,再双击 mkupdate.bat,会在 Image文件夹下产生一个up
4、date.img,此文件就是打包后新生成的用户升级包文件。对于 system.img 的解包、打包,需用到cramfsck、mkcramfs 两个工具,此 img文件和工具需在 Linux(Ubuntu、RedHat等)系统下操作和使用,来进行解包、打包,cramfsck 为解包工具,mkcramfs 为打包工具。先通过本地硬盘、盘或者Live CD启动到 Linux 下(Linux 相关知识和安装不在本篇介绍范围内,请自行 Google),然后将 system.img、cramfsck、mkcramfs三个文件拷贝到系统的root 文件夹下。(有些 Linux 系统对挂载的其它分区或磁盘兼容
5、性不好,所以拷贝到系统分区进行操作可减少出问题的可能性,本文涉及到 Linux 部分的操作以 BackTrack3 操作系统为示例。部分人反映用Ubuntu的精简等版本时用不了已编译好的cramfsck 和 mkcramfs,所以在教程包中又放入了一个 deb 的文件,在启动到 Linux 后双击就可以像 Windows一样安装它了。)打开一个 shell,在 shell中输入:cramfsck-x system system.img 对 system.img 文件进行解包,执行完成后,会产生一个名为system 的文件夹,如下图所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,
6、共 15 页 -也可以采用以下方法进行解包,原理就是 mount这个镜像文件,然后再拷贝出来,命令如下:mkdir system sudo mount-t cramfs-o loop system.img system tar cvzf system.tgz system sudo umount system rm-r system tar xzvf system.tgz 用这个方法的好处是可以避免某种情况下出错的可能,第一种方法在某些情况下会造成某些文件损坏,有碰到过。解包后的 System文件夹内包含 9 个文件夹和 1 个文件,简单说明如下:名师资料总结-精品资料欢迎下载-名师精心整理-
7、第 3 页,共 15 页 -/system/app 系统应用程序存放目录/system/bin 系统的本地程序,是binary 二进制的程序,里面主要是Linux 系统自带的组件。/system/etc 系统的配置文件,比如APN接入点设置等核心配置。/system/fonts 字体文件夹。/system/framework 主要是一些核心的文件,从后缀名为 jar 可以看出是系统平台框架。/system/lib 存放的主要是系统底层库,如平台运行时库。/system/media 铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音/system/usr 用户文件夹,包含共享、键盘布局、时间
8、区域文件等。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 15 页 -/system/xbin 存放系统管理工具,他们都是为系统管理员准备的,是一些系统管理和配置工具。/system/build.prop 属性文件,“关于 MID”中所显示的软件版本、内核、机型等信息。通过上面进行简单的介绍,相信你已有了一个大概的了解了。此时可对 system 文件夹下的文件进行其它修改了,比如提取 root 权限、固件精减、APK替换修改等操作。修改完成后,需要对system 文件夹进行打包,在shell中输入:mkcramfs system system02.img(为了便于区分原先的im
9、g 文件,所以建议重新生成的文件不要与原文件名一样。)此时会在 root 目录下生成一个新文件system02.img,这个文件就是我们修改好并重新打包 OK的文件了。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 15 页 -此时,对于 update.img 和 system.img 两个文件的解包、打包操作就介绍完了。对于 system.img 和相应的文件是否需要打包成用户升级包update.img 就看各位是否有需要了。二、固件升级固件升级有两种工具可实现(其实还有第三种升级即通过MID本机进行升级,不过需要原生软件和硬件支持才可以实现,目前发现上市的机子还无此功能。所以
10、略过,),即量产升级、用户升级。量产升级:将量产升级包的 6 个文件和一个文件夹,放入./升级工具/量产升级工具_RKAndroidTool/rockdev文件夹下,然后打开量产工具RKAndroidTool.exe,如下图所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 15 页 -(如有需要勾选 Loader、Backup选项,对于软件跨版本较大或修改过分区等情况可勾选 Loader,如果你的 MID没有 Recover 功能,Backup选项无需勾选。题外话太多了,现转移到正题。)关机状态下长按 ESC键或菜单键(视机型而定,具体请自行查找相应信息)的同时连接 PC,按
11、提示安装驱动(首次使用),驱动路径指向./升级工具/rk28usb Driver,安装好驱动后按“执行”即可完成升级。注意:如果是 Vista、Windows7系统需用管理员权限运行本工具,否则会提示“测试设备失败”,造成升级失败。用户升级:打开用户升级工具RKAndroidDM.exe,如下图所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 15 页 -点击“,”按钮,选择电脑中要升级的用户升级文件update.img,然后按量产升级的方法连接你的MID,提示找到设备后按“升级”按钮进行升级,完成后提示“升级成功”后拔掉USB线重新开机即可。三、固件修改前面讲解了那么多了,
12、前戏应做的很足了,现在开始介绍各位同鞋最为关心滴事、最最为想做滴事情,我再次手把手滴开始教各位同鞋鸟,希望能和大家一起达到目的,冲向高潮。吼,!,固件精减、添加APK软件将 system.img 解包,解包后将./system/app目录下的不需要的APK文件进行删除、修改、替换,以制作适合自己的固件包,对于app 目录内不清楚用途的APK文件,请勿随意删除,以免引起不必要的问题。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 15 页 -注意:据说个别 APK软件需自带的库文件支持才能正常运行,此时可用WinRAR等压缩软件将 APK文件打开(将.apk 后缀改成.zip,然后
13、用压缩软件打开即可),从里边找到后缀为.so 的文件,然后放入./system/lib文件夹下即可。修改完成后,然后进行打包、升级、测试。,提取 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/su 名师资料总结-精品资料欢迎
14、下载-名师精心整理-第 9 页,共 15 页 -上述命令需注意大小写,否则有可能会出错。修改完成后打包即可。我开始在验证过程中,因使用了较老的root explorer版本根本不能进入资源管理器,于是更换了最新版V2.94,是能进资源管理器界面了,但是却不能修改或删除 system 下的文件,可能有人会怀疑这是否真正的取得了root 权限?我可以很负责的告诉你,已经取得了 root 权限,因为运行 drocap2 这类 root 权限的软件是灰常正常滴。嗯,其实这里又涉及到一个专业知识了,请坐好捏,哎,后面那位同鞋别看别人了,说的就是你。现在仔细听我讲解:瑞芯微 android 系统固件的 s
15、ystem 分区采用的是 cramfs 文件系统。cramfs 文件系统是一个压缩式的文件系统,它并不需要一次性地将文件系统中的所有内容都解压缩到内存之中,而只是在系统需要访问某个位置的数据的时侯,马上计算出该数据在cramfs 文件系统中的位置,将其实时地解压缩到内存之中,然后通过对内存的访问来获取文件系统中需要读取的数据。cramfs 文件名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 15 页 -系统中的解压缩以及解压缩之后的内存中数据存放位置都是由cramfs 文件系统文件系统本身进行维护的,用户并不需要了解具体的实现过程,因此这种方式既方便,又节省了存储空间。cram
16、fs 文件系统的数据都是预先经过处理、打包的,这种系统是一种只读、不支持写操作的文件系统,在刷到机器里后,这个分区就是只读的,不能做任何更改。所以,刷机后是不能对这个系统进行修改的,只能在刷机前对 system.img 进行解包、修改,以达到我们的目的。,修改用户分区大小部分同鞋使用了 MID一段时间后,就会为用户区空间太小装不了几个软件而发愁,其实,你不用发愁,只要稍稍修改一下两个文件就可以将分区加大。现在出产的 MID一般都是配备 2GB以上的内存,划个几百M至 1G都不会太影响本机使用的,再者现在 TF卡那么便宜,都是标配 24G以上的容量了。所以即便将用户区再划大些都不会有太大的影响。
17、(题外话:还有同鞋在寻找 APP2SD 的功能,个人建议不如修改一下这两个文件,将用户区划大一些来得实在,一来在本机上读取软件稳定性会高些,二来不会因TF卡的问题导至软件出问题嘛!)言归正传:将用户升级包update.img 解包(如果已经是量产升级包,略过此解包操作),找到其中的 HWDEF、parameter 两个文件并备份。再用 UE(UltraEdit32,其实用记事本也可以,不过看起比较乱)修改两个文件的分区偏移量和分区大小,是以 16 进制表示,前一个分区的偏移量和大小加起来就是后面一个分区的偏移量,我们需让用户分区增大,所以只修改用户分区即可,只需修改userdata、user
18、两个分区的偏移量和大小即可。A修改 HWDEF 文件:用 UE打开 HWDEF,找到如下部分的代码(请注意红色部分数据):mtd_id=rk28xxnand#Format:part_name offset:size parameter 0 x00000000:0 x00001000:fh misc 0 x00001000:0 x00001000:f kernel 0 x00002000:0 x00003000:f boot 0 x00005000:0 x00002000:f recovery 0 x00007000:0 x00003000:f system 0 x0000A000:0 x000
19、1E000:f 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 15 页 -backup 0 x00028000:0 x00026000:cache 0 x0004E000:0 x0001E000:userdata 0 x0006C000:0 x0001E000:user 0 x0008A000:0 xFFFFFFFF:END 简单解释一下,上面的 userdata 分区表示:偏移量为 0 x0006C000,分区大小为:0 x0001E000,比如我们需将使用空间由原来的123M增大一倍到 246M,即0 x0001E000 0 x0001E000 0 x0003C000,那
20、么,下一个分区user 的偏移量就变成 6C000 3C000 0 x000A8000,修改后新的数据如下:userdata 0 x0006C000:0 x0003C000:user 0 x000A8000:0 xFFFFFFFF:修改后保存。对 HWDEF 的修改完成了。B修改 parameter 文件再用 UE打开 parameter,找到最后一行,其部分代码如下:CMDLINE:noinitrd c,115200n8n androidboot.c init=/init root=/dev/mtdblock2 mem=128M0 x60000000 mtdparts=rk28xxnand:
21、0 x000010000 x00001000(misc),0 x000030000 x00002000(kernel),0 x000020000 x00005000(boot),0 x000030000 x00007000(recovery),0 x0001E0000 x0000A000(system),0 x000260000 x00028000(backup),0 x0001E0000 x0004E000(cache),0 x00040000 0 x0006C000(userdata),-0 x000AC000(user)此段代码 前面表示分区大小,后面表示偏移量。userdata 前面的
22、 6 个分区大小和偏移量都能和HWDEF 文件中的一一对应起来,但userdata 的分区大小明显要大很多,暂不明白为何要加大一些。查看过几个不同机型的这些文件,大小也有差距,在 22000-62000(16 进制)之间;为了不出问题,我们也依照那样做吧,所以我们也在 userdata 空间的大小上面也加上22000 至 62000之间的一个数值吧。所以,此处 userdata 的分区大小为:3C000(扩容后的分区大小)+22000=5E000,那下一个分区 user 的偏移量也变成了:5E000(新分区大小)+6C000(偏移)=CA000。修改过的数据如下:0 x0005E000 0 x
23、0006C000(userdata),-0 x000CA000(user)名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 15 页 -修改后保存。对 parameter 的修改也完成了。用刚才改好的两个文件替换原先的两个文件,然后重新打包、升级。不同机型分区大小可能会有差别,所以附件中放有原始的和修改好的两个文件,以供参考!此文件仅供参考,请勿直接替换,出了问题概不负责!,修改设置中“关于MID”中的机型型号将 system.img 进行解包,解包后在system 文件夹下找到 build.prop 将 build.prop文件用 UE打开,找到 ro.product.mode
24、l=sdkDemo 一行,将其中的 sdkDemo改成你想要显示的文字,比如BM999,修改后保存,然后重新打包烧录即可。名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 15 页 -5,美化界面这个又涉及到 APK文件的修改了,这部分的教程就不作过多的介绍了,有需要的同鞋可以上网去 Google 下相关资料,大把的教程可供参考。将 system.img 进行解包,解包后在./system/framework文件夹下找到framework-res.apk,将.APK后缀改名为.zip,然后将其中的 assets、res 两个文件夹解压出来开始我们的美化工作。要注意修改后的图片分辨
25、率大小和图片格式要与原来保持一致,否则会出错的哦。A界面美化找到解压后的下列两个目录,这两个目录存放所有界面的系统图标,可对需要修改的界面小图标进行美化:./framework-res/res/drawable./framework-res/res/drawable-land B修改开机 LOGO(Android 启动时,出现闪动的ANDROID 字样的动画图片)名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 15 页 -Android 的系统登录动画类似于Windows系统的滚动条,是由前景和背景两张PNG 图片组成,这两张图片也是位于./system/framework/f
26、ramework-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-
27、logo-mask.png:Android 默认的前景图片,文字部分镂空,大小25664android-logo-shine.png:Android 默认的背景图片,有动感效果,大小51264美化完成后,将修改过的图片替换掉APK文件中相应的文件,然后将 APK文件中META-INF文件夹内的 CERT.SF、CERT.RSA 两个文件删除,然后用签名工具重新签名。再将签名后的APK文件替换掉原先的文件,之后重新打包成system.img并用工具升级即可。,桌面美化感觉桌面默认的公版壁纸、搜索条、快捷键等图标太难看?没问题,把它都换了吧。将 system.img 进行解包,解包后在./system/app文件夹下找到 Launcher.apk,将.APK后缀改名为.zip,然后将其中的 res 文件夹解压出来,将需要美化的图片进行美化、替换,修改好后按照上面的方法将文件替换、签名、打包再升级即可。基础篇教程完毕!敬请关注进阶篇。因本人水平有限,教程中难免会有错误之处,欢迎指正!参考发烧网http:/www.fashao.cc/topic-97009-1.html名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 15 页 -
限制150内