Как установить связку adb + fastboot на компьютер

Example Session

Host:    "getvar:version"        request version variable

Client:  "OKAY0.4"               return version "0.4"

Host:    "getvar:nonexistant"    request some undefined variable

Client:  "FAILUnknown variable"  getvar failure; see getvar details below

Host:    "download:00001234"     request to send 0x1234 bytes of data

Client:  "DATA00001234"          ready to accept data

Host:    < 0x1234 bytes >        send data

Client:  "OKAY"                  success

Host:    "flash:bootloader"      request to flash the data to the bootloader

Client:  "INFOerasing flash"     indicate status / progress
         "INFOwriting flash"
         "OKAY"                  indicate success

Host:    "powerdown"             send a command

Client:  "FAILunknown command"   indicate failure

Как скачать и установить Xiaomi ADB Fastboot

Программу создал и поддерживает независимый разработчик, который выложил её на GitHub. В отличие от обычных утилит, здесь нет установочного файла (обычно .exe) — после загрузки вы увидите файл формата .jar.

XAFT создан для работы в среде виртуальной машины Oracle Java, поэтому для работы требуется установить Java Runtime Environment (JRE) версии 11 или более поздней. Если она у вас не установлена, то это можно сделать с помощью официального сайта Oracle:

  • Windows — установите Oracle Java отсюда или OpenJDK отсюда.
  • macOS — Установите Oracle Java отсюда.
  • Linux — установите Oracle Java отсюда или OpenJDK из предпочитаемого диспетчера пакетов (openjdk-11-jre).

Утилиты Xiaomi ADB/Fastboot в формате JAR работают в среде Java и подходят для Windows, Linux или macOS. Чтобы скачать их, загрузите файл XiaomiADBFastbootTools.jar с последней версией программы со страницы разработчика в GitHub (по этой ссылке всегда открывается самая последняя версия XAFT).

На момент написания этой статьи, последняя версия Xiaomi ADB/Fastboot Tools 7.0.3 датирована 31 августа 2020 года. В этой версии менеджер приложений App Manager научился удалять приложения YouTube Music и Google One, в загрузчике ROM исправлено самоочищающееся поле кодового имени, а сама программа получила несколько улучшений и исправлений пользовательского интерфейса.

После установки программы можно приступать к подключению устройства. Доступны два режима: ADB и Fastboot.

Logical Partitions

There are a number of commands to interact with logical partitions:

update-super:%s:%s  Write the previously downloaded image to a super
                    partition. Unlike the "flash" command, this has
                    special rules. The image must have been created by
                    the lpmake command, and must not be a sparse image.
                    If the last argument is "wipe", then all existing
                    logical partitions are deleted. If no final argument
                    is specified, the partition tables are merged. Any
                    partition in the new image that does not exist in the
                    old image is created with a zero size.

                    In all cases, this will cause the temporary "scratch"
                    partition to be deleted if it exists.

create-logical-partition:%s:%d
                    Create a logical partition with the given name and
                    size, in the super partition.

delete-logical-partition:%s
                    Delete a logical partition with the given name.

resize-logical-partition:%s:%d
                    Change the size of the named logical partition.

In addition, there is a variable to test whether a partition is logical:

is-logical:%s       If the value is "yes", the partition is logical.
                    Otherwise the partition is physical.

Modules

  • App Manager — Uninstall/reinstall/disable/enable system apps and services on demand
  • Camera2 — Enable Camera2 and EIS (TWRP required)
  • File Explorer — Transfer files between a device and a computer using ADB
  • Screen density — Tweak screen density by overriding the DPI value
  • Screen resolution — Tweak screen resolution by overriding the width and height values
  • Device properties — Retrieve tons of statistics and information about your device
  • Flasher — Flash any partition with an image, boot to any image or flash a Fastboot ROM (unlocked bootloader required)
  • Wiper — Wipe the cache or perform a factory reset
  • OEM Unlocker & Locker — Lock or unlock the bootloader (Unlocking is only supported by Android One devices)
  • ROM Downloader — Get links to the latest MIUI Fastboot ROMs or download them right away
  • Rebooter — Advanced rebooting options using ADB/Fastboot

FAQ & Troubleshooting

The application doesn’t work. Is there anything I should have installed?

Yes, the Xiaomi ADB/Fastboot Tools was developed in Kotlin for the Java Virtual Machine so it needs the JRE to run, version 11 or later.

Linux

Do I need an unlocked bootloader or root access to use the app?

The Flasher, Wiper and Camera2 modules in Fastboot mode require an unlocked bootloader but everything else works without rooting or unlocking.

What apps are safe to uninstall?

All applications in the list are safe to uninstall. You might lose access to some services but the device will keep working just fine. Some other apps, like Gallery or Security, aren’t listed because uninstalling them would soft brick your device.

What’s the difference between uninstalling and disabling?

The OS sees which apps have been disabled and it can re-enable them whenever it pleases but it cannot do the same with uninstalled apps. Apps you disable may come back anytime and you can also re-enable them in the Settings, while uninstalled apps will only return if you reinstall them (using ADB or an APK) or factory reset the device. There’s no difference when it comes to their impact on the system, however, functionality or performance wise, so I recommend uninstalling apps which you believe pose a security/privacy risk and disabling everything else.

Why does the Uninstaller hang on some apps?

There are some apps Global MIUI doesn’t let you uninstall but Chinese MIUI does. If you try to uninstall an app like that, the tool might hang. If that happens, close the tools, disconnect your device, uninstall the app manually, then launch the tools again and reconnect your device to proceed.

Why does the Uninstaller fail to uninstall some apps?

If the attempted uninstallation of an application results in a failure or anything other than success, that isn’t a bug or an issue within the program. It means that ADB was not able to uninstall the application and there is nothing we can do about it. Similary, if an uninstallation has no result at all (neither success nor failure), that means that ADB didn’t report anything, therefore the program cannot derive any information about the successfulness of the uninstallation.

How do I regain uninstalled system apps?

Simply reinstall them using the Reinstaller module when connected in ADB mode. In case the Reinstaller module is disabled because your device doesn’t support it, you must perform a factory reset.

No. Fastboot ROM flashing is available so MiFlash can mostly be replaced but implementing EDL flashing or bootloader unlocking on MIUI would only make the program unnecessarily complex.

Client Variables

The “getvar:%s” command is used to read client variables which represent various information about the device and the software on it.

The various currently defined names are:

version             Version of FastBoot protocol supported.
                    It should be "0.4" for this document.

version-bootloader  Version string for the Bootloader.

version-baseband    Version string of the Baseband Software

product             Name of the product

serialno            Product serial number

secure              If the value is "yes", this is a secure
                    bootloader requiring a signature before
                    it will install or boot images.

is-userspace        If the value is "yes", the device is running
                    fastbootd. Otherwise, it is running fastboot
                    in the bootloader.

Names starting with a lowercase character are reserved by this specification. OEM-specific names should not start with lowercase characters.

Importance of ADB and Fastboot Mode

If you have just stepped into the world of the Android ecosystem, then the ADB and Fastboot binaries are probably among the top few things that you should get yourself aware of. If your sole purpose of using an Android device is to make calls and send messages, well, then you probably wouldn’t need these drivers. But the thing is there is only a limited chunk of users who belong to this population. For the vast majority, they wish to explore the full potential of this open-source environment.

The usefulness of ADB Commands

In this regard, right from the first step, you will be needing ADB and Fastboot. To begin with, the ADB commands are used to boot your device to different modes, including Fastboot Bootloader and Downloader and Stock Recovery. Similarly, you could even install and uninstall any application onto your device right from your PC itself. Likewise, these ADB commands also allow you to transfer files between your device and PC. Then using the adb shell , you could unlock the device’s full potential with so many hidden tweaks.

The Need for Fastboot Commands

Talking about tweaks, let’s turn our attention towards Fastboot. To be able to effectively carry out any of the system-level tweaks on to your device, the first step is to bypass the restriction put in place by the OEM. In simpler words, an unlocked bootloader is a major prerequisite that your device should qualify. And that could only be done via the required fastboot commands. After that, the plenty of goodies that an unlocked bootloader brings in with itself also requires the support of these Fastboot commands in some form or the other.


TWRP Home

Flashing a Magisk patched image for root, permanent installation of TWRP ZIP, or just booting its IMG file for one-time use, all ask for appropriate fastboot commands. Likewise, the plethora of mods that you come across requires sending in the fastboot commands. Even keeping everything else aside, just the fact that fastboot is required to unlock the bootloader, root your device, and flash TWRP should be enough to highlight its importance.

So go ahead and install the necessary Android SDK Platform Tools on your PC. Then launch the Command Prompt or PowerShell window and welcome the endless possibilities on your Android device. Just keep in mind to enable USB Debugging on your device from Developer Options if you are dealing with Android Debug Bridge, and have the necessary drivers installed on your PC.

Advantages of ADB and Fastboot tool

  • Compatible for any Android devices
  • Runs on both Windows or Mac platforms
  • Install Custom ROM
  • Flash Custom Recovery
  • Can install Root
  • Unlock / Relock the device bootloader
  • Remove bloatware from your phone

Command Reference

  • Command parameters are indicated by printf-style escape sequences.

  • Commands are ascii strings and sent without the quotes (which are for illustration only here) and without a trailing 0 byte.

  • Commands that begin with a lowercase letter are reserved for this specification. OEM-specific commands should not begin with a lowercase letter, to prevent incompatibilities with future specs.

The various currently defined commands are:

getvar:%s          Read a config/version variable from the bootloader.
                   The variable contents will be returned after the
                   OKAY response. If the variable is unknown, the bootloader
                   should return a FAIL response, optionally with an error
                   message.

                   Previous versions of this document indicated that getvar
                   should return an empty OKAY response for unknown
                   variables, so older devices might exhibit this behavior,
                   but new implementations should return FAIL instead.

download:%08x      Write data to memory which will be later used
                   by "boot", "ramdisk", "flash", etc.  The client
                   will reply with "DATA%08x" if it has enough
                   space in RAM or "FAIL" if not.  The size of
                   the download is remembered.

upload             Read data from memory which was staged by the last
                   command, e.g. an oem command.  The client will reply
                   with "DATA%08x" if it is ready to send %08x bytes of
                   data.  If no data was staged in the last command,
                   the client must reply with "FAIL".  After the client
                   successfully sends %08x bytes, the client shall send
                   a single packet starting with "OKAY".  Clients
                   should not support "upload" unless it supports an
                   oem command that requires "upload" capabilities.

flash:%s           Write the previously downloaded image to the
                   named partition (if possible).

erase:%s           Erase the indicated partition (clear to 0xFFs)

boot               The previously downloaded data is a boot.img
                   and should be booted according to the normal
                   procedure for a boot.img

continue           Continue booting as normal (if possible)

reboot             Reboot the device.

reboot-bootloader
                   Reboot back into the bootloader.
                   Useful for upgrade processes that require upgrading
                   the bootloader and then upgrading other partitions
                   using the new bootloader.

Setup ADB and Fastboot on Windows and Mac OS:

Setting up ADB and Fastboot seems quite easy. As ADB and Fastboot both are a part of the Android SDK package, only you to download the kit (which is over 500 MB) and then set up path variables, or the below-written methods can be used to install ADB and fastboot driver on Windows and Mac OS. But first, you need to remember that you have to put your device into USB debugging mode, but before that, you need to enable the developer option. If you ignore this step, the possibility is your PC won’t recognize your device.

Advertisements

Did you know?

We also have a separate guide on how to install ADB and Fastboot on macOS and Linux

Установка и использование

Программа не оснащена графическим интерфейсом и запускается через командную строку. ADB FastBoot создана для пользователей, который разбираются в компьютерах и знают как работать с консольными командами. Загрузив и распаковав архив с приложением, добавьте обе программы (ADB и FastBoot) в раздел «Переменные среды».Активация этого раздела осуществляется следующим образом: в панели управления Windows нужно перейти в раздел «Система и безопасность». Затем найти пункт «Системные переменные» и выбрать путь к распакованной папке.Откройте командную строку и введите команды «adb version», а потом дождитесь появления билда для рабочего компонента. Если вы увидели версию устройства – подключение верное. Начинайте прошивку и выполняйте системные операции. Во время прошивки устройства не отключайте его питание и не нажимайте кнопки, пока не завершится обновление ПО.Прочитайте ADB-команды и все данные о них на форумах или специальных сайтах. При необходимости воспользуйтесь утилитой Adb Run или похожей программой.  Эта утилита обеспечивает доступ к командной строке и ёе работу через готовый GUI.

Установка ADB и Fastboot из пакета Android SDK

Этот способ предусматривает использование официального средства разработки и тестирования приложений Android Studio. Переходим на страницу https://developer.android.com/studio/index.html и находим заголовок «Get just the command line tools». Ниже скачиваем архив SDK tools для Windows (перед загрузкой соглашаемся с условиями использования).

Распаковываем архив на диск С. В нашем случае файлы были извлечены в папку sdk-tools-windows-3859397.

Заходим в директорию, а потом переходим в каталог tools/bin. Здесь нас интересует файл sdkmanager, который и поможет установить ADB и Fastboot на компьютер.

Далее все действия будут производиться в командной строке Windows. Запускаем ее от имени администратора.

Теперь необходимо открыть папку с sdkmanager, для чего в консоли следует выполнить команду cd C:sdk-tools-windows-3859397toolsbin, где C:sdk-tools-windows-3859397toolsbin – путь к файлу sdkmanager.

Если вы распаковали Android SDK не на диск С, а в какое-то иное место, то полный адрес можно будет узнать с помощью верхней строки Проводника (кликаем по конечной папке правой кнопкой мыши и жмем «Копировать адрес»).

Итак, мы перешли в toolsbin и теперь нам нужно выполнить команду sdkmanager «platform-tools», которая установит пакет Platform-tools, содержащий файлы ADB и Fastboot.

В ходе установки ознакомьтесь с лицензионным соглашением и нажмите Y для завершения операции.

Если все прошло как надо, в корневой папке Android SDK появится каталог platform-tools с необходимыми файлами adb.exe и fastboot.exe.

Вариант 2

Прибегать к этому варианту стоит в самую последнюю очередь, когда ни один из вышеописанных способов точно не работает.

Если высветившийся режим при включении не содержит параметров, если перезагрузка гаджета ничего не дает и даже System recovery вызвать не получается, то предстоит сделать следующее:

  • снять батарею;
  • вставить ее обратно;
  • зажать кнопку включения минимум на 30 секунд.

Вновь вернувшийся Fastboot Mode даст понять, что пора переходить к более кардинальным действиям.

Придется перезагрузить устройство, но уже через компьютер, воспользовавшись командной строкой.

Обратите внимание! Для работы со смартфоном, у которого случился системный сбой, Вам понадобятся подходящие драйвера. Найти на просторах интернета драйвера не так уж и сложно

Найти на просторах интернета драйвера не так уж и сложно.

Просто воспользуйтесь поисковиком, а из череды предложенных сайтов, предлагающих скачать «дрова», постарайтесь выбрать официальные, чтобы исключить неприятные казусы, связанные с занесением вирусов и т.п.

Далее последовательность действия очень проста:

1Разархивируем скаченные «дрова»;

Рис. 5 – Разархивация данных

2Данные из архива помещаем в папку;

Рис. 6 – Помещение файлов в указанную папку

3После подключаем гаджет к ПК посредством USB-кабеля;

4Некоторое время придется потратить на ожидание, пока компьютер распознает смартфон, после чего он предложит для начала работы с гаджетом установить драйвера;

5Так как мы их уже предварительно скачали, то выбираем пункт «Установка из указанного места»;

Рис. 7 – Процесс установки

6Выбираем папку, в которую поместили их и нажимаем Enter.

Рис. 8 – Процесс установки

После того, как драйвера успешно установятся, переходим к работе с устройством через командную строку.

  • заходим в меню «Пуск»;
  • в строке выполнения прописываем «cmd»;

Рис. 9 –Вызов «cmd»

  • после жмем Enter, и открывается командная строка (черное окно, куда следует водить текст);
  • прописываем команду fastboot reboоt;

Рис. 10 – Командная строка

вновь завершаем действие нажатием клавиши Enter.

После выполнения приведенных выше манипуляций, подключенный смартфон загрузится уже нормальным образом сразу в рабочем состоянии.

Данный способ, включающий в себя использование ПК, является наиболее действенным. Но все равно прибегать к нему лучше всего, когда наверняка не сработают более мелкие и простые действия по восстановлению.

Подготовка

Четкое выполнение подготовительных процедур предопределяет успех всего процесса прошивки устройства, поэтому осуществление нижеописанных шагов можно считать обязательным условием перед проведением операций.

О том, как установить специальный драйвер для фастбут-режима, можно узнать из статьи:

Урок:

Бэкап системы

Если существует малейшая возможность, перед прошивкой обязательно осуществляется создание полной резервной копии существующих разделов памяти устройства. Необходимые для создания бэкапа действия описаны в статье:

Урок: Как сделать бэкап Android-устройства перед прошивкой

Загрузка и подготовка необходимых файлов

Fastboot и ADB являются взаимодополняющими друг друга инструментами из состава Android SDK. Загружаем инструментарий полностью или скачиваем отдельный пакет, содержащий только АДБ и Фастбут. Затем распаковываем полученный архив в отдельную папку на диске С.

Через Fastboot возможна запись как отдельных разделов памяти Андроид-девайса, так и прошивок-обновлений целым пакетом. В первом случае понадобятся файлы-образы в формате *.img, во втором – пакет(ы) *.zip. Все файлы, которые планируются к использованию, должны быть скопированы в папку, содержащую распакованные Fastboot и ADB.

Пакеты *.zip не распаковываем, необходимо лишь переименовать загруженный файл(ы). В принципе имя может быть любым, но не должно содержать пробелов и русских букв. Для удобства следует использовать короткие имена, к примеру update.zip. Кроме прочего необходимо учитывать тот фактор, что Fastboot чувствителен к регистру букв в посылаемых командах и именах файлов. Т.е. «Update.zip» и «update.zip» для фастбут — разные файлы.

Запуск Fastboot

Поскольку Fastboot является консольным приложением, работа с инструментом осуществляется при помощи введения команд определенного синтаксиса в командную строку Windows (cmd). Для запуска Фастбут проще всего использовать следующий метод.

  1. Открываем папку с Фастбут, нажимаем на клавиатуре клавишу «Shift» и, удерживая ее, кликаем правой кнопкой мыши на свободной области. В раскрывшемся меню выбираем пункт «Открыть окно команд».

Дополнительно. Для облегчения работы с Fastboot можно применять программу Adb Run.

Эта надстройка позволяет производить все операции из нижеописанных примеров в полуавтоматическом режиме и не прибегать к ручному вводу команд в консоль.

Перезагрузка девайса в режим bootloader

  1. Чтобы устройство принимало команды, посылаемые пользователем через Фастбут, оно должно быть перезагружено в соответствующий режим. В большинстве случаев достаточно послать в девайс со включенной отладкой по USB специальную команду через adb:

Устройство перезагрузится в нужный для прошивки режим. Затем проверяем правильность подключения с помощью команды:

Перезагрузку в режим fastboot можно также осуществить с помощью соответствующего пункта в TWRP Recovery (пункт «Fastboot» меню «Перезагрузка» («Reboot»).

Если вышеописанные способы перевода аппарата в фастбут-режим не срабатывают или неприменимы (аппарат не загружается в Android и не входит в рекавери), необходимо воспользоваться сочетанием аппаратных клавиш на самом девайсе. Для каждого модельного ряда эти сочетания и порядок нажатия кнопок отличаются, универсального способа входа, к сожалению, не существует.

Исключительно для примера можно рассмотреть продукцию компании Xiaomi. В этих устройствах загрузка в фастбут-режим осуществляется с помощью нажатия на выключенном аппарате кнокпки «Громкость-» и, удерживая ее, клавиши «Питание».

Еще раз отметим, у других производителей методология способа входа в фастбут-режим с помощью аппаратных кнопок и их сочетаний может отличаться.

Разблокировка загрузчика

Производители определенного ряда Андроид-аппаратов блокируют возможность управления разделами памяти устройства через блокировку загрузчика (bootloader). Если у устройства заблокирован загрузчик, в большинстве случаев его прошивка через фастбут неосуществима.

Для проверки статуса загрузчика можно послать в устройство, находящееся в режиме fastboot и подключенное к ПК, команду:

Но вновь приходиться констатировать, что данный способ выяснения статуса блокировки не универсален и отличается для устройств разных производителей. Это утверждение также касается разблокировки bootloader – методология проведения процедуры отличается для разных устройств и даже для различных моделей одного бренда.

TCP Protocol v1

The TCP protocol is designed to be a simple way to use the fastboot protocol over ethernet if USB is not available.

The device will open a TCP server on port 5554 and wait for a fastboot client to connect.

Handshake

Upon connecting, both sides will send a 4-byte handshake message to ensure they are speaking the same protocol. This consists of the ASCII characters “FB” followed by a 2-digit base-10 ASCII version number. For example, the version 1 handshake message will be .

If either side detects a malformed handshake, it should disconnect.

The protocol version to use must be the minimum of the versions sent by each side; if either side cannot speak this protocol version, it should disconnect.

Fastboot Data

Once the handshake is complete, fastboot data will be sent as follows:

Where data_size is an unsigned 8-byte big-endian binary value, and data is the fastboot packet. The 8-byte length is intended to provide future-proofing even though currently fastboot packets have a 4-byte maximum length.

Example

In this example the fastboot host queries the device for two variables, “version” and “none”.

Host    <connect to the device on port 5555>
Host    FB01
Device  FB01
Host    getvar:version
Device  OKAY0.4
Host    getvar:none
Device  FAILUnknown variable
Host    <disconnect>

Download ADB and Fastboot tool:

  • 15 seconds ADB Installer

There is no new version for 15 seconds ADB installer. We recommend not to use the 15 seconds ADB installer on new devices.

Thanks to XDA Senior member Snoop05, who shared this on XDA.

    • Minimal ADB and Fastboot Tool:
      • Version 1.4.3 (Latest): Download Here | Portable Version
      • Version 1.4.2: Download Here
      • Version 1.4.1: Download Here| Portable Version
      • Version 1.4: Download Here
      • Version 1.3.1: Download Here
      • Version 1.3: Download Here
      • Version 1.2: Download Here
      • Version 1.1.3: Download Here

Download Android SDK Platform tool

Thanks to XDA Recognized Contributor shimp208, who shared this on XDA.

What is Fastboot?


Fastboot Mode on a Xiaomi Device

Fastboot is a more advanced set of functionality that doesn’t require your device to be booted to the Android OS. Rather they have their own set of Fastboot or Bootloader menu. As a result, you don’t need to enable USB Debugging to execute any Fastboot Commands. Talking about commands, these commands could be used to unlock the bootloader on your Android device.

Other usage includes the ability to boot your device to TWRP Recovery, flash/boot various types of ZIPs, and IMGs files like Magisk ZIP or TWRP.img files, to name a few. Again your PC would refuse to recognize your device in a fastboot mode if the necessary drivers aren’t installed. In this regard, the Android SDK Platform Tool will again come in handy. After installing, launch the CMD or PowerShell window and execute the desired Fastboot Commands.

Advertisements

What is ADB?

ADB or Android Debug bridge is used to establish a successful connection (bridge) between your device and PC. Once this connection is established, you could carry out plenty of tweaks, both at the system level as well as the application level. For example, you could remove bloatware from your device, pull or push files or install OTA via the Sideload feature. The tech enthusiasts take it a step further and execute some of the more advanced commands.

Advertisements

These include booting their device to stock or custom recovery, booting to fastboot, or Bootloader mode, among other such tasks. But to successfully execute any of the ADB commands, you will have to enable the USB Debugging on your device. This will then unlock the ADB path between your device and PC, and the exchange of commands could then easily be carried out between these devices. On the PC side, you will have to install the Android SDK Platform Tool and then launch a Command Prompt or PowerShell window to execute the ADB commands.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий