《自拍教程57》Python fastboot一键刷机

大部分的Android手机/车机/电视等移动终端设备,
都可以通过fastboot来刷新Android系统版本,其实就是多个img文件(镜像文件)的刷写。

准备阶段
先通过组合按键(每个Android终端组合按钮不一样,比如有的是持续按住Home键+音量下键再开机,持续3s以上),
进入fastboot刷机模式。也可以通过adb reboot-bootloader命令来进入fastboot刷机模式。
USB接入Android设备,确保fastboot devices可以找到Android设备
通过fastboot flash *.img 命令可以进行刷写各种指定包,
通过fastboot reboot 可以退出fastboot刷机模式并重启系统
注意事项一: 以下脚本的img文件刷写顺序不能随意调换。
注意事项二: 每个Android终端刷写的img文件是不一样,请咨询对应研发人员或者spm。
注意事项三: 刷机有风险,如果是非专业的研发人员或测试人员,请不要随意刷写自己的Android设备,避免出现刷成砖头!

Python批处理脚本
记住批处理脚本的精髓:批量顺序执行语句

#python3
#coding=utf-8

import os

print("正在fastboot刷机, 请稍候...")
os.system("fastboot oem format")
os.system("fastboot flash systemA system.img")
os.system("fastboot flash recoveryA recovery.img")
os.system("fastboot flash systemB system.img")
os.system("fastboot flash recoveryB recovery.img")
os.system("fastboot flash cache cache.img")
os.system("fastboot flash data data.img")
os.system("fastboot flash map map.img")
os.system("fastboot flash private private.img")
os.system("fastboot flash speech speech.img")
print("刷机完毕, 正在重启...")
os.system("fastboot reboot")
os.system("pause")

Python面向过程函数
面向过程函数的编程思维应该是这样的:
你需要多少个功能(函数),才能做成这个事。
最好把功能(函数)都尽量封装好,如果需要只暴露一些的参数接口即可。
把之前的脚本语句块打包,无需传参,再调用这个fastboot_flash()即可。

import os

def fastboot_flash():
    print("正在fastboot刷机, 请稍候...")
    os.system("fastboot oem format")
    os.system("fastboot flash systemA system.img")
    os.system("fastboot flash recoveryA recovery.img")
    os.system("fastboot flash systemB system.img")
    os.system("fastboot flash recoveryB recovery.img")
    os.system("fastboot flash cache cache.img")
    os.system("fastboot flash data data.img")
    os.system("fastboot flash map map.img")
    os.system("fastboot flash private private.img")
    os.system("fastboot flash speech speech.img")
    print("刷机完毕, 正在重启...")
    os.system("fastboot reboot")

fastboot_flash()
os.system("pause")

Python面向对象类
面向对象类的编程思维应该是这样的:
如果给你一个空白的世界,在这个世界里你需要哪些种类的事物,
这些种类的事物都具备哪些共有的属性与方法,
这些种类(类)的事物(对象),和其他种类(其他类)的事物(其他对象)有什么关系。
尽量把这些类封装好,只暴露对外的属性(变量)和方法(函数)即可。

import os

class FastbootFlasher():
    def __init__(self):
        pass

    def fastboot_flash(self):
        print("正在fastboot刷机, 请稍候...")
        os.system("fastboot oem format")
        os.system("fastboot flash systemA system.img")
        os.system("fastboot flash recoveryA recovery.img")
        os.system("fastboot flash systemB system.img")
        os.system("fastboot flash recoveryB recovery.img")
        os.system("fastboot flash cache cache.img")
        os.system("fastboot flash data data.img")
        os.system("fastboot flash map map.img")
        os.system("fastboot flash private private.img")
        os.system("fastboot flash speech speech.img")
        print("刷机完毕, 正在重启...")
        
    def fastboot_reboot(self):
        os.system("fastboot reboot")

f_obj = FastbootFlasher()
f_obj.fastboot_flash()
f_obj.fastboot_reboot()
os.system("pause")

运行方式
确保Android设备通过USB线与电脑连接了,并成功进入了fastboot刷机模式,
fastboot device设备有效连接,
解压系统版本包,然后把fastboot_flash.py丢到解压后的文件夹,

双击运行fastboot_flash.py即可。

再次提醒以上刷机有风险,如果是非专业的研发人员或测试c#教程人员,请不要随意刷写自己的Android设备,避免出现刷成砖头!

更多更好的原创文章,请访问官方网站:www.zipython.com
自拍教程(自动化测试Python教程,首部面向软件测试人员的Python教程)
原文链接:https://www.zipython.com/#/detail?id=692d5fe794e44f309459d3774eec8ab6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值