---
title: 'Подключиться к устройству мобильной фермы по ADB'
sidebar_label: 'Подключиться к устройству по ADB'
sidebar_position: 5
description: 'Как подключиться к устройству мобильной фермы с помощью Android Debug Bridge (ADB)'
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import Formbricks from '@theme/MDXComponents/Formbricks'

# Подключиться к устройству мобильной фермы по ADB

Android Debug Bridge (ADB) — инструмент, который позволяет взаимодействовать с устройствами на OC Android через интерфейс командной строки. Например, вы можете:

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

Подробнее об инструменте Android Debug Bridge в инструкции [Android Debug Bridge (adb)](https://developer.android.com/tools/adb) документации Google.

1. [Установите Android SDK Platform Tools](#install-android-sdk-platform-tools).
2. [Создайте пару ADB-ключей](#create-adb-keys).
3. [Добавьте публичный ADB-ключ](#add-public-adb-key).
4. [Подключитесь к устройству по ADB](#connect-to-device-with-adb).

## 1. Установить Android SDK Platform Tools \{#install-android-sdk-platform-tools}

Скачайте дистрибутив Android SDK Platform Tools для вашей операционной системы на [сайте Google для разработчиков на Android](https://developer.android.com/studio/releases/platform-tools).

## 2. Создать пару ADB-ключей \{#create-adb-keys}

<Tabs queryString="create-adb-keys">
  <TabItem value="linux" default>
    <TabItemLabel>
      Linux
    </TabItemLabel>

    1. Откройте CLI.

    2. Создайте пару ADB-ключей и разместите их в папке, в которой они будут храниться:

       ```bash
       cd ~/.android/
       adb keygen adbkey
       adb pubkey ~/.android/adbkey > ~/.android/adbkey.pub
       ```

    3. Скопируйте публичный ADB-ключ:

       ```bash
       xclip -sel clip < ~/.android/adbkey.pub
       ```
  </TabItem>

  <TabItem value="macos">
    <TabItemLabel>
      macOS
    </TabItemLabel>

    1. Откройте CLI.

    2. Создайте пару ADB-ключей и разместите их в папке, в которой они будут храниться:

       ```bash
       cd ~/.android/
       adb keygen adbkey
       adb pubkey ~/.android/adbkey > ~/.android/adbkey.pub
       ```

    3. Скопируйте публичный ADB-ключ:

       ```bash
       pbcopy < ~/.android/adbkey.pub
       ```
  </TabItem>

  <TabItem value="windows">
    <TabItemLabel>
      Windows
    </TabItemLabel>

    1. Откройте CLI.

    2. Создайте пару ADB-ключей и разместите их в папке, в которой они будут храниться:

       ```bash
       cd %USERPROFILE%\.android\
       adb keygen adbkey
       adb pubkey %USERPROFILE%\.android\adbkey > %USERPROFILE%\.android\adbkey.pub
       ```

    3. Скопируйте публичный ADB-ключ:

       ```bash
       type %USERPROFILE%\.android\adbkey.pub | clip
       ```
  </TabItem>
</Tabs>

## 3. Добавить публичный ADB-ключ \{#add-public-adb-key}

Публичный ADB-ключ можно добавить в свой профиль или в профиль другого пользователя, а затем использовать его для [подключения к устройствам мобильной фермы по ADB](#connect-to-device-with-adb).

Ключ будет доступен во всех проектах, в которые добавлен пользователь.

<Tabs queryString="add-public-adb-key">
  <TabItem value="own-profile" default>
    <TabItemLabel>
      В свой профиль
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/profile/access/adb-keys) в правом верхнем углу откройте меню (номер аккаунта) и выберите **Профиль**.
    2. Перейдите в раздел **Доступ** → вкладка **ADB-ключи**.
    3. Нажмите **Добавить ключ**.
    4. Введите имя ключа.
    5. Вставьте публичный ADB-ключ, который вы скопировали при [создании пары ADB-ключей](#create-adb-keys) на шаге 3.
    6. Нажмите **Добавить**.
  </TabItem>

  <TabItem value="other-user-profile">
    <TabItemLabel>
      В профиль другого пользователя
    </TabItemLabel>

    Добавлять ключи другим пользователям может [Владелец аккаунта](/access-control/user-types.mdx#account-owner) и пользователи с ролью [`iam.admin`](/access-control/role-reference.mdx#iam-admin).

    1. В [панели управления](https://my.selectel.ru/iam/service-users) в верхнем меню нажмите **IAM**.

    2. Перейдите в раздел с нужным [типом пользователей](/access-control/user-types.mdx):

       * **Пользователи панели** — для пользователей с доступом в панель управления;
       * **Сервисные пользователи** — для пользователей с программным доступом без доступа к панели управления.

    3. Откройте страницу пользователя → вкладка **Доступ**.

    4. В блоке **ADB-ключи** нажмите **Добавить ключ**.

    5. Введите имя ключа.

    6. Вставьте публичный ADB-ключ, который вы скопировали при [создании пары ADB-ключей](#create-adb-keys) на шаге 3.

    7. Нажмите **Добавить**.
  </TabItem>
</Tabs>

## 4. Подключиться к устройству по ADB \{#connect-to-device-with-adb}

1. В [панели управления](https://my.selectel.ru/mobile-farm/) в верхнем меню нажмите **Продукты** и выберите **Мобильная ферма**.

2. Перейдите в раздел **Устройства**.

3. В строке устройства нажмите на производителя и модель устройства.

4. Под названием устройства скопируйте команду для подключения устройства мобильной фермы, например:

   ```bash
   adb connect adb.mobfarm.selectel.ru:3094
   ```

   Здесь:

   * `adb.mobfarm.selectel.ru` — DNS-адрес для подключения к мобильным устройствам;
   * `3094` — пример порта для подключения.

5. Откройте CLI.

6. Подключитесь к устройству — выполните команду, которую вы скопировали на шаге 4.

   Даже при удачном подключении в ответе появится ошибка аутентификации:

   ```bash
   failed to authenticate to adb.mobfarm.selectel.ru:3094
   ```

   Здесь:

   * `adb.mobfarm.selectel.ru` — DNS-адрес для подключения к мобильным устройствам;
   * `3094` — пример порта для подключения.

7. Убедитесь, что подключение установлено. Для этого запросите список подключенных устройств:

   ```bash
   adb devices -l
   ```

   В ответе появится список подключенных устройств. Например:

   ```bash
   List of devices attached
   adb.mobfarm.selectel.ru:3094 device product:AD8-RU model:TECNO_AD8 device:TECNO-AD8 transport_id:1
   ```

<Formbricks />
