小度8C不完全刷机,安装第三方软件

您所在的位置:网站首页 adb刷system镜像 小度8C不完全刷机,安装第三方软件

小度8C不完全刷机,安装第三方软件

2023-05-11 07:02| 来源: 网络整理| 查看: 265

声明:

        本文章只是本人刷机过程的记录与分享,并不完全保证适用与你的设备。请你在按照本文章内容对你的设备进行操作之前,请核实你的设备型号,认真阅读和理解本文章的内容,并对可能出现的未知问题有解决能力。如果造成设备故障,本人不承担任何责任。

感谢(排名不分先后):

        酷安:奋斗de青年

https://www.coolapk.com/feed/45003406?shareKey=MmQxOWJlYWI3OTUzNjQ1NjkxNDg~&shareUid=655630&shareFrom=com.coolapk.market_13.1.3

        ZNDS:寒梦

https://www.znds.com/tv-1232465-1-1.html

        XDA:MrWaehere

https://forum.xda-developers.com/t/tool-windows-kitchen-crb-v3-1-9.3947779/

        Hovatek:X3non

https://www.hovatek.com/forum/thread-21970.html

        YouTube:Hovatek

https://www.youtube.com/watch?v=pj4iFakq33M

        StackOverflow上Alex P.提出的问题下面的各位回答者。

https://stackoverflow.com/questions/23081263/adb-android-device-unauthorized

        以及各个工具软件开发者的无私分享。

一、前言

        我手里的是小度8C移动定制版,CPU是MT8167系列。如标题写的一样,此次分享的成果并没有达到我预期的效果。这台设备是开通移动宽带时送的,刚拿回来就想着刷机来着,结果我的能力有限,没在网上找到足够多的资料,索性就放弃了,放在房子里着吃了一年灰。本来这次五一休息,计划是要待在宿舍通宵达旦的玩无限火力的,结果无限火力5月4日就结束了,所以闲来无事,就把这台设备拿了出来。本想着一年了,网上资料应该挺多的,这次刷机应该很容易。结果发现还是我年轻了,网上资料还是少得可怜。大抵是现在刷机的时代过去了吧,或者大家压力太大,没人折腾这些了。在酷安、ZSDN上找到了一些资料,但是大家都是不愿意免费分享出来,最后又在XDA、Hovatek、StackOverflow以及YouTube找了一些相关资料,才算勉强完成了一部分成果,至于剩下的要做的,我也是没有能力和时间去完成了,希望有人能借助我的这些资料,彻底实现小度8C自由。

        当前实现的部分:

                     1、提取出了原厂固件,并制作了线刷包。有两个版本XD_SDD08_2105与XD_SDD08_2106。我刚提取出XD_SDD08_2105,睡了一觉,第二天自动更新到XD_SDD08_2106了😂,然后又提取了一遍。

                     2、在XD_SDD08_2106原厂固件基础上,修补了boot,添加了Root权限。

                     3、在XD_SDD08_2106原厂固件基础上,修补了system,添加了Easy Touch、Via浏览器、当贝桌面、权限狗、ES文件浏览器、Magisk。

        希望实现的部分:

               1、实现电脑ADB调试。XD_SDD08_2105无法打开开发者模式,即无法打开USB调试模式。XD_SDD08_2106可以打开USB调试模式,但是无法弹出授权提示窗口,电脑连接后提示未授权,无法操作。这个好像可以用复制ADB key的方式解决,不过我没看懂如何做。

                     2、实现自由安装软件。小度8C官方修改了安卓默认安装逻辑,只能从官方应用中心下载指定的软件,自行安装会弹出不可安装的Toast。现在想要安装软件,只能通过解包system.img文件,将想要安装的软件加进去再封包刷入实现,整个过程繁琐,还具有不可控性。一方面system分区大小是固定的,添加太多软件可能导致无法封包或者刷入后无法开机,另一方面一些软件不支持封装到system分区,强行封装后可能导致无法开机或者不可用。现在即使获得了Root权限,因为不能直接安装应用,Magisk又不支持system分区启动,导致Magisk无法接管系统Root权限进行管理。

                     3、从移动定制版刷为公开版。小度8C我现在了解到的版本有电信定制版、移动定制版和公开版,如果有人正好有公开版小度8C,希望能通过我后面介绍的方法,提取公开版的固件分享出来。

二、工具以及固件地址

百度网盘:链接:https://pan.baidu.com/s/10z_sd4Yaxk2uBZTVv39WVg 提取码:23bl

115网盘:链接:https://115.com/s/sw6ps483hvo?password=23bl&#小度8C 访问码:23bl

三、刷机

       如果你的设备型号与我的一致,并且只是想使用我提取的固件恢复设备,则可以直接用我的原厂固件进行刷机。如果你想刷入我修改后的boot.img和system.img,则需要在刷机之前先对设备的Bootloader进行解锁,不然会开机卡第一屏。如果你的设备型号与我的不一致,请转至第四步。

       刷机只需要用到分享里面的SP Flash Tool工具,确保分享里面的驱动已经安装完毕。打开SP Flash Tool。点击下载选项卡,加载SP Flash Tool工具文件夹里面的DA文件(MTK_AllInOne_DA.bin);加载配置文件(MT8167_Android_scatter.txt),在我分享的固件包里面就有,加载配置文件后后会自动勾选该配置文件所在目录下所有可刷入分区。刷机模式选择下载。

       准备完毕,点击下载后,下载按钮会变成灰色,所有选择变为灰色不可更改,只有停止按钮是绿色。此时,如果你发现配置有问题,可以点击停止按钮,重新修改配置文件。确定没有问题后,撕开小度8C充电口的橙色贴纸,会看到一个Micro-usb口。插入电源,等待小度8C开机,开机后长按电源键关机,通过usb口连接电脑,你应该能听到设备连接电脑的提示音,然后软件便开始自动刷机。MTK设备会在开机几秒内开启刷机模式,SP Flash Tool会在下载模式时把设备拦截在此状态,设备就不会开机了,开始下载写选择的配置文件。如果插入后长时间电脑没有提示音,不开始下载,你也可以尝试按一下电源键。如果还是不行,就拔掉USB线,重复以上操作,直至开始刷机。刷机过程中千万不要断开电源和USB线。

       刷机完成后会看到下载完成的提示,将其关闭,拔掉USB线,重新插拔小度8C电源线开机即可。第一次开机可能时间较长,请耐心等待。

       解锁设备的Bootloader锁需要用到工具里面的MTKClient软件。打开MTKClient先是一个命令行窗口,等待一会儿便会弹出MTKClient程序窗口。

       MTKClient连接需要一定的经验,下面是我连接的过程(反正就是一顿乱按,只要能连上就OK🤣)。插入电源等待小度8C开机,然后关机,不要拔出电源线,同时按住音量加和电源按钮,连接设备与电脑。听到第二声响后,松开音量加和电源按钮,此时命令行窗口显示Port - Device detected :)。再次同时按住音量加、音量减与电源按钮,看到命令行窗口读取到设备信息后,松开按钮。此时MTKClient程序窗口显示已连接设备。选择Flash工具里面的解锁bootloader,就可以解锁bootloader。

       解锁Bootloader后,就可以刷入我修改的boot和system而不会卡第一屏了。刷入方法和上面刷入完整包的一致。根据我的使用经验,即使是刷入了我提供的有当贝桌面的systm,开机一定要使用开机向导连接WIFI,绑定和家亲,不然直接进入当贝桌面会卡到你怀疑人生。因为当贝桌面会抢启动Lanucher,所以开机的时候出现WIFI连接界面,手速要快一点连接,不然会被当贝桌面启动替代小度,你就只能重新开机再操作了。绑定完和家亲,由于你在小度里面进行操作,当贝桌面启动失败,你只能重新启动小度8C,开机后再进入当贝桌面。进入当贝桌面后第一讲事情就是启动Easy Touch,把该给的权限都给了,设置成你喜欢的操作逻辑,记得把全面屏时隐藏Easy Touch这个选项关了。接下来就是打开权限狗,申请root权限,要是不出授权弹窗就多试几次,不行就关机重启再试。还有Magisk提示状态异常,Magisk不支持安装为系统应用,请还原为用户应用的错误。这个需要将Magisk安装到用户分区,暂时未解决。

四、MTK系列提取原厂固件

       此项工作需要用到工具是MTKAuthBypassTool、WwR_MTK和SP Flash Tool。首先是使用MTKAuthBypassTool读取自己设备的CPU型号,如果有条件最好还是通过拆机来确定自己的CPU型号。

       将设备关机,电源线或者电池不要断开。打开MTKAuthBypassToolV20.exe程序,点击Read MTA Info。程序界面显示Waiting for mtk usb devices。

       插入USB线连接电脑和设备,此时应该会直接读取到设备信息,要是没有读取到,就按一下开机键。程序自动识别到我的设备。CPU为:MT8167,S01,产品型号为:XD-SDD08-2106。

       打开WwR_MTK软件,等待倒计时结束(不想等待可以对开发者进行捐赠),软件自动打开。选择Auto mode模式,点击Generating empty scatter file,选择自己的CPU型号和闪存类型,点击Create and save as...,选择Scatter文件的保存位置,会自动在保存位置生成Scatter文件。

       打开SP Flash Tool工具,在下载选项卡中加载SP Flash Tool工具文件夹里面的DA文件(MTK_AllInOne_DA.bin);加载刚才使用WwR_MTK软件生成的scatter配置文件(MTxxxx_Android_scatter.txt)。

       选择回读选项卡,确保没有内容,要是有就将其删除。

       点击添加,添加了一个文件,双击添加的文件,将其保存为EMMC_BOOT1。

       此时会自动弹出一个窗口,需要填写回读地址及大小。打开使用WwR_MTK软件生成的Scatter配置文件,找到EMMC_BOOT1的真实地址及大小,填入对应的回读选项卡,记得区域选择EMMC_BOOT_1。

       插入电源等待小度8C开机,然后关机,不要拔出电源线,点击回读选项卡里面的读回,插入USB线连接电脑,此时会自动回读EMMC_BOOT1文件,出现完成的图标,单击关闭,就能在之前选的保存文件位置找到回读的EMMC_BOOT1文件。如果不成功就多试几次。

       还需要回读PGPT文件,其文件起始位置和长度与EMMC_BOOT1是一样的,只是分区名称不一样。将新建的回读选项文件删除,重新添加一个回读文件,双击该文件将其保存为PGPT,在弹出的窗口选择EMMC_USER分区,起始地址和长度和EMMC_BOOT1一样。单击确定。

       重新插拔电源线等待小度8C开机,然后关机,不要拔出电源线,点击回读里面的读回,插入USB线连接电脑,此时会自动回读PGPT文件,出现完成的图标,单击关闭,就能在之前选的保存文件位置找到回读的PGPT文件。

       回到WwR_MTK软件,单击选择文件,选择刚才使用SP Flash Tool软件读取回的EMMC_BOOT1打开。等待加载完成。

      我们往后选择选项卡Table of sections,会发现里面没有信息。

       此时我们只需要加载SP Flash Tool软件读取回的PGPT文件,就能看到设备详细的分区信息了。和之前一样的步骤,选择PGPT文件打开,等待加载完成,此选项卡就有设备详细的分区信息了。

       得到设备详细的分区表信息,我们就可以通过分区信息表选择性的备份设备的各个分区了。我的建议是将设备的所有分区全部备份一遍,防止设备出问题时好恢复,不过备份所有分区可能需要的时间会有一点长,但是我认为这是有必要且值得的。

       回到SP Flash Tool软件,将新建的回读选项文件删除,重新添加一个回读文件,双击该文件将其保存为Factory_Full_Firmware,在弹出的窗口选择EMMC_USER分区,起始地址是0x0,长度是最后一个分区的起始地址加上长度,注意这里的数据都是十六进制,所以要用十六进制的计算原则加。我的完整固件长度计算后是0x1CD000000,单击确定。插入电源等待小度8C开机,然后关机,不要拔出电源线,点击回读里面的读回,插入USB线连接电脑,此时会自动回读设置大小的文件。

       我的设备所有文件读取时间还可以接受,花了大约15分钟,总大小7.2G。

       回到WwR_MTK软件,单击选择文件,选择Factory_Full_Firmware打开,等待加载完成,回到Auto mode选项卡,到这一步表示你第一步生成Scatter文件、第二步备份原厂固件已经完成了,直接选择第三步。

       单击开始进程(Start the process),软件会自动从完整的备份固件文件里识别平台、型号等信息。完成后会自动跳转到第四步,选择将各个分区拆分保存即可。

       拆分完成后会弹出保存位置选择的对话框,选择自己想要保存的位置,等待完成,即可在选择的文件夹找到备份的各个分区。

       到达这一步,你已经拥有了自己设备的固件备份。如果刷机过程中出现意外,基本都可以通过SP Flash Tool软件刷入自己的固件备份来救砖了。

五、修补boot.img和system.img

       通过修补boot.img可以加入root权限,修改system.img来加入系统App。需要用到的工具是Magiskpatcher和CRBuilder。打开Magiskpatcher.exe软件,选择备份的原厂boot.img文件,架构arm,保持验证、保持强制加密与修补vbmeta标志三个选项打开。然后单击确认配置。MTK的平台修补vbmeta标志是必选的。还有就是一定要确认好自己的架构,我就是在这上面折腾了好久,我搜到MT8167是64位的架构,就选择了arm64,刷入后开不了机,排查了好久。最后发现,小度8C使用的是MT8167S,32位的架构😑。我图片里面还是写的选择arm64,大家根据自己的设备选择啊。

       选择Magisk版本,点击修补boot镜像。你选择什么版本的Magisk,等会儿在system中就封包什么版本的Magisk。我提供的封包Magisk是25.2的版本,其它版本大家可以去官网下载或者在Magiskpatcher软件目录的prebuilt文件夹下面找。

       修补完成后在Magiskpatcher软件文件夹下,即可找到新boot(new-boot.img)与原厂boot(stock-boot.img)。将new-boot.img改名为boot.img放到你要刷入的文件夹。

       打开CRBuilder软件,如果界面是英文,可以选择设置将语言改为中文,点击Apply,界面就变为中文了。

       选择解包,第一次点击可能会申请管理员权限,同意然后再次点击解包,弹出新建项目的文件夹。第一步选择创建一个工程,名字默认的就可以,第二步选择备份的原厂system.img,第三步单击提取,等待完成后关闭弹窗。

       打开CRBuilder软件所在的文件夹,打开Projects文件夹,打开刚才新建的工程文件夹(CRB_PROJECT),打开ROM文件夹,打开system文件夹,将自己要安装的软件复制到app文件夹里。system有大小限制不能添加太多软件,如果有需求,可以后续删除一部分自带的系统软件,再添加其他软件。记得Magisk版本要和前面修补boot的Magisk版本一致。system添加或者删除软件都要谨慎操作,有可能会导致不开机。

       添加完成后,回到CRBuilder软件界面选择打包,自定义打包。里面的任何选项在不清楚作用的情况下,都不要改动,直接单击构建按钮。

       构建完成后,打开CRBuilder软件所在的文件夹,打开Projects文件夹,打开刚才新建的工程文件夹(CRB_PROJECT),在Output目录里面就有生成的system.img文件了,将它复制到你要刷入的文件夹。

       把原厂备份的文件夹里面的MTxxxx_Android_scatter.txt文件也复制一份到你要刷入的文件夹,此时这个文件夹里面有三个文件,修补的boot.img、修补的system.img、以及原厂备份的MTxxxx_Android_scatter.txt。

       打开SP Flash Tool软件,。点击下载选项卡,加载SP Flash Tool工具文件夹里面的DA文件(MTK_AllInOne_DA.bin),加载配置文件(MTxxxx_Android_scatter.txt)。你要刷入boot就打勾boot,要刷如system就打勾system。点击下载,设备关机,不要断开电源,用USB线连接电脑和设备,开始自动刷入,要是刷入后无法开机,就刷入原厂固件恢复设备。

       刷入完成后,拔掉USB线,重新插拔电源线开机。

再次感谢:

       酷安:奋斗de青年,ZNDS:寒梦,XDA:MrWaehere,Hovatek:X3non,YouTube:Hovatek,StackOverflow上Alex P.提出的问题下面的各位回答者以及各个工具软件开发者的无私分享!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3