Android设备给Android设备刷固件

Android设备常见的刷机方式是连电脑给Android刷,那能不能Android给Android刷机呢,这样拿着更轻巧的设备刷机不是更便携?

刷机具备什么条件呢?

按照电脑刷机方式,我们知道需要以下条件:

①.adb 环境;

②.fastboot环境

③.刷机的设备可以切换到otg host模式

④.终端窗口

Android 固件通常预置有system/bin/adb;fastboot 这个执行文件没有预置。

终端窗口可以通过安装apk实现,那可以推测在可以切换OTG模式的Android设备,如果能在 system/bin/ 预置fastboot可执行文件,可以达到刷机目的。

要在system/bin/能预置文件,需要设备开放了root权限,这个好办,我们可以修改固件实现,现在只缺fastboot.

实际上已经有人开发出了fasboot 安装工具,安装链接里的apk"ADB工具安装器”和"Termux".

链接:https://pan.baidu.com/s/1Y5LsHuZBGGodjQ32FX1U8w

提取码:sk1m

打开"ADB工具安装器",点击“安装” 和 “开启adb服务”即可完成adb 和 fastboot的安装。如下:

Android设备给Android设备刷固件_第1张图片

打开Termux,如下:

可以看到窗口home目录是在“/data/data/com.termux/files/home”,为方便刷机,可以把刷机脚本push到这里。

执行sh v04_firmware.sh刷机,如下

刷机成功,实际用时跟电脑刷无异。

刷机脚本如下:

#!/bin/bash

su -c adb wait-for-device

su -c adb reboot bootloader

su -c fastboot wait-for-device

su -c fastboot flash boot /sdcard/boot.img

su -c fastboot flash aboot /sdcard/emmc_appsboot.mbn

su -c fastboot flash system /sdcard/system.img

su -c fastboot flash splash /sdcard/splash.img

su -c fastboot flash persist /sdcard/persist.img

su -c fastboot flash cache /sdcard/cache.img

su -c fastboot flash recovery /sdcard/recovery.img

su -c fastboot flash privdata1 /sdcard/privdata1.img

su -c fastboot flash privdata2 /sdcard/privdata1.img

su -c fastboot reboot

echo flash success!!

需要注意的是,刷机需要设备开放OEM锁,有的设备可在“开发者选项”开启,具体因设备而异。查看设备有没放开OEM 锁可通过命令 fastboot flashing get_unlock_ability 得知,除非 fastboot flashing get_unlock_ability 为“1”,否则设备应拒绝 fastboot flashing unlock 解锁命令。

你可能感兴趣的:(android,adb)