Настройка бегущей строки через usb
Обновлено: 21.11.2024
Всегда рекомендуется протестировать приложение на реальном устройстве, прежде чем выпускать его для пользователей. Этот документ проведет вас через необходимые шаги для запуска вашего приложения React Native на устройстве и его подготовки к работе.
Если для настройки проекта вы использовали интерфейс командной строки Expo или приложение Create React Native, вы можете предварительно просмотреть свое приложение на устройстве, отсканировав QR-код с помощью приложения Expo, но чтобы создать и запустить приложение на устройстве, вам нужно будет извлечь и установить зависимости собственного кода из руководства по настройке среды.
Запуск вашего приложения на устройствах Android
ОС для разработки
1. Включить отладку по USB
По умолчанию на большинстве устройств Android можно устанавливать и запускать только приложения, загруженные из Google Play. Вам потребуется включить отладку по USB на вашем устройстве, чтобы установить приложение во время разработки.
Чтобы включить отладку по USB на вашем устройстве, вам сначала нужно включить меню «Параметры разработчика», выбрав «Настройки» → «О телефоне» → «Информация о программном обеспечении», а затем семь раз коснувшись строки «Номер сборки» внизу. Затем вы можете вернуться в «Настройки» → «Параметры разработчика», чтобы включить «Отладку по USB».
2. Подключите устройство через USB
Теперь давайте настроим устройство Android для запуска наших проектов React Native. Продолжайте и подключите свое устройство через USB к компьютеру для разработки.
Теперь проверьте правильность подключения вашего устройства к ADB, Android Debug Bridge, запустив adb devices .
Если устройство отображается в правом столбце, это означает, что оно подключено. Одновременно должно быть подключено только одно устройство.
3. Запустите свое приложение
Введите в командной строке следующее, чтобы установить и запустить приложение на устройстве:
Если вы получаете сообщение об ошибке "Конфигурация моста недоступна", см. раздел Использование реверса adb.
Совет. Вы также можете использовать интерфейс командной строки React Native для создания и запуска сборки Release (например, npx react-native run-android --variant=release ).
Подключение к серверу разработки
Вы также можете быстро выполнить итерацию на устройстве, подключившись к серверу разработки, работающему на вашем компьютере для разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или к сети Wi-Fi.
Способ 1. Использование adb reverse (рекомендуется)
Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, на нем включена отладка по USB и оно подключено через USB к компьютеру для разработки.
Выполните в командной строке следующее:
Чтобы найти имя устройства, выполните следующую команду adb:
Теперь вы можете включить динамическую перезагрузку из меню разработчика. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.
Способ 2. Подключение через Wi-Fi
Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам нужно установить приложение на свое устройство с помощью USB-кабеля, но как только это будет сделано, вы сможете выполнять отладку по беспроводной сети, следуя этим инструкциям. Прежде чем продолжить, вам потребуется текущий IP-адрес вашего компьютера для разработки.
Вы можете найти IP-адрес в Системных настройках → Сеть.
- Убедитесь, что ваш ноутбук и телефон подключены к одной сети Wi-Fi.
- Откройте приложение React Native на своем устройстве.
- Вы увидите красный экран с ошибкой. Хорошо. Следующие шаги помогут это исправить.
- Откройте меню разработчика в приложении.
- Перейдите в раздел "Настройки разработчика" → "Отладка хоста сервера и порта для устройства".
- Введите IP-адрес вашего компьютера и порт локального сервера разработки (например, 10.0.1.1:8081).
- Вернитесь в меню "Разработчик" и выберите "Перезагрузить JS".
Теперь вы можете включить динамическую перезагрузку из меню разработчика. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.
Создание приложения для производства
Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Этот процесс такой же, как и в любом другом нативном приложении для Android, с некоторыми дополнительными соображениями, которые необходимо учитывать. Следуйте инструкциям по созданию подписанного APK, чтобы узнать больше.
1. Включить отладку по USB
По умолчанию на большинстве устройств Android можно устанавливать и запускать только приложения, загруженные из Google Play. Вам потребуется включить отладку по USB на вашем устройстве, чтобы установить приложение во время разработки.
Чтобы включить отладку по USB на вашем устройстве, вам сначала нужно включить меню «Параметры разработчика», выбрав «Настройки» → «О телефоне» → «Информация о программном обеспечении», а затем семь раз коснувшись строки «Номер сборки» внизу. Затем вы можете вернуться в «Настройки» → «Параметры разработчика», чтобы включить «Отладку по USB».
2. Подключите устройство через USB
Теперь давайте настроим устройство Android для запуска наших проектов React Native. Продолжайте и подключите свое устройство через USB к компьютеру для разработки.
Теперь проверьте правильность подключения вашего устройства к ADB, Android Debug Bridge, запустив adb devices .
Если устройство отображается в правом столбце, это означает, что оно подключено. Одновременно должно быть подключено только одно устройство.
3. Запустите свое приложение
Введите в командной строке следующее, чтобы установить и запустить приложение на устройстве:
Совет. Вы также можете использовать интерфейс командной строки React Native для создания и запуска сборки Release (например, npx react-native run-android --variant=release ).
Подключение к серверу разработки
Вы также можете быстро выполнить итерацию на устройстве, подключившись к серверу разработки, работающему на вашем компьютере для разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или к сети Wi-Fi.
Способ 1. Использование adb reverse (рекомендуется)
Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, на нем включена отладка по USB и оно подключено через USB к компьютеру для разработки.
Выполните в командной строке следующее:
Чтобы найти имя устройства, выполните следующую команду adb:
Теперь вы можете включить динамическую перезагрузку из меню разработчика. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.
Способ 2. Подключение через Wi-Fi
Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам нужно установить приложение на свое устройство с помощью USB-кабеля, но как только это будет сделано, вы сможете выполнять отладку по беспроводной сети, следуя этим инструкциям. Прежде чем продолжить, вам потребуется текущий IP-адрес вашего компьютера для разработки.
Откройте командную строку и введите ipconfig, чтобы узнать IP-адрес вашего компьютера (дополнительная информация).
- Убедитесь, что ваш ноутбук и телефон подключены к одной сети Wi-Fi.
- Откройте приложение React Native на своем устройстве.
- Вы увидите красный экран с ошибкой. Хорошо. Следующие шаги помогут это исправить.
- Откройте меню разработчика в приложении.
- Перейдите в раздел "Настройки разработчика" → "Отладка хоста сервера и порта для устройства".
- Введите IP-адрес вашего компьютера и порт локального сервера разработки (например, 10.0.1.1:8081).
- Вернитесь в меню "Разработчик" и выберите "Перезагрузить JS".
Теперь вы можете включить динамическую перезагрузку из меню разработчика. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.
Создание приложения для производства
Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Этот процесс такой же, как и в любом другом нативном приложении для Android, с некоторыми дополнительными соображениями, которые необходимо учитывать. Следуйте инструкциям по созданию подписанного APK, чтобы узнать больше.
1. Включить отладку по USB
По умолчанию на большинстве устройств Android можно устанавливать и запускать только приложения, загруженные из Google Play. Вам потребуется включить отладку по USB на вашем устройстве, чтобы установить приложение во время разработки.
Чтобы включить отладку по USB на вашем устройстве, вам сначала нужно включить меню «Параметры разработчика», выбрав «Настройки» → «О телефоне» → «Информация о программном обеспечении», а затем семь раз коснувшись строки «Номер сборки» внизу. Затем вы можете вернуться в «Настройки» → «Параметры разработчика», чтобы включить «Отладку по USB».
2. Подключите устройство через USB
Теперь давайте настроим устройство Android для запуска наших проектов React Native. Продолжайте и подключите свое устройство через USB к компьютеру для разработки.
Затем проверьте код производителя с помощью lsusb (на Mac сначала необходимо установить lsusb). lsusb должен вывести что-то вроде этого:
Эти строки представляют USB-устройства, подключенные к вашему компьютеру в данный момент.
Вам нужна линия, представляющая ваш телефон. Если вы сомневаетесь, попробуйте отключить телефон и снова запустить команду:
Вы увидите, что после извлечения телефона строка с моделью телефона (в данном случае "Motorola PCS") исчезла из списка. Это та линия, которая нас интересует.
Шина 001 Устройство 003: ID 22b8:2e76 Motorola PCS
Из приведенной выше строки вы хотите получить первые четыре цифры идентификатора устройства:
В данном случае это 22b8 . Это идентификатор Motorola.
Чтобы приступить к работе, вам потребуется ввести это в правила udev:
Убедитесь, что вы заменили 22b8 идентификатором, полученным в приведенной выше команде.
Теперь проверьте правильность подключения вашего устройства к ADB, Android Debug Bridge, запустив adb devices .
Если устройство отображается в правом столбце, это означает, что оно подключено. Одновременно должно быть подключено только одно устройство.
3. Запустите свое приложение
Введите в командной строке следующее, чтобы установить и запустить приложение на устройстве:
Если вы получаете сообщение об ошибке "Конфигурация моста недоступна", см. раздел Использование реверса adb.
Совет: вы также можете использовать интерфейс командной строки React Native для создания и запуска сборки выпуска (например,npx react-native run-android --variant=release ).
Подключение к серверу разработки
Вы также можете быстро выполнить итерацию на устройстве, подключившись к серверу разработки, работающему на вашем компьютере для разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или к сети Wi-Fi.
Способ 1. Использование adb reverse (рекомендуется)
Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, на нем включена отладка по USB и оно подключено через USB к компьютеру для разработки.
Выполните в командной строке следующее:
Чтобы найти имя устройства, выполните следующую команду adb:
Теперь вы можете включить динамическую перезагрузку из меню разработчика. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.
Способ 2. Подключение через Wi-Fi
Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам нужно установить приложение на свое устройство с помощью USB-кабеля, но как только это будет сделано, вы сможете выполнять отладку по беспроводной сети, следуя этим инструкциям. Прежде чем продолжить, вам потребуется текущий IP-адрес вашего компьютера для разработки.
Откройте терминал и введите /sbin/ifconfig, чтобы найти IP-адрес вашего компьютера.
- Убедитесь, что ваш ноутбук и телефон подключены к одной сети Wi-Fi.
- Откройте приложение React Native на своем устройстве.
- Вы увидите красный экран с ошибкой. Хорошо. Следующие шаги помогут это исправить.
- Откройте меню разработчика в приложении.
- Перейдите в раздел "Настройки разработчика" → "Отладка хоста сервера и порта для устройства".
- Введите IP-адрес вашего компьютера и порт локального сервера разработки (например, 10.0.1.1:8081).
- Вернитесь в меню "Разработчик" и выберите "Перезагрузить JS".
Теперь вы можете включить динамическую перезагрузку из меню разработчика. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.
Создание приложения для производства
Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Этот процесс такой же, как и в любом другом нативном приложении для Android, с некоторыми дополнительными соображениями, которые необходимо учитывать. Следуйте инструкциям по созданию подписанного APK, чтобы узнать больше.
Запуск вашего приложения на устройствах iOS
ОС для разработки
1. Подключите устройство через USB
Подключите устройство iOS к компьютеру Mac с помощью кабеля USB-Lightning. Перейдите в папку ios в своем проекте, затем откройте файл .xcodeproj или, если вы используете CocoaPods, откройте .xcworkspace внутри него с помощью Xcode.
Если вы впервые запускаете приложение на устройстве iOS, вам может потребоваться зарегистрировать свое устройство для разработки. Откройте меню «Продукт» в строке меню Xcode, затем перейдите в пункт «Назначение». Найдите и выберите свое устройство из списка. Затем Xcode зарегистрирует ваше устройство для разработки.
2. Настройка подписи кода
Зарегистрируйте учетную запись разработчика Apple, если у вас ее еще нет.
Выберите свой проект в Навигаторе проектов Xcode, затем выберите основную цель (она должна иметь то же имя, что и ваш проект). Найдите вкладку «Общие». Перейдите в раздел «Подписание» и убедитесь, что в раскрывающемся списке «Команда» выбрана ваша учетная запись разработчика Apple или команда. Сделайте то же самое для цели тестов (она заканчивается на Тесты и находится ниже основной цели).
Повторите этот шаг для цели Tests в вашем проекте.
3. Создайте и запустите свое приложение
Если все настроено правильно, ваше устройство будет указано в качестве цели сборки на панели инструментов Xcode, а также появится на панели «Устройства» ( ⇧⌘2 ). Теперь вы можете нажать кнопку «Создать и запустить» ( ⌘R ) или выбрать «Выполнить» в меню «Продукт». Вскоре ваше приложение будет запущено на вашем устройстве.
Подключение к серверу разработки
Вы также можете быстро выполнить итерацию на устройстве с помощью сервера разработки. Вам нужно только быть в той же сети Wi-Fi, что и ваш компьютер. Встряхните устройство, чтобы открыть меню разработчика, затем включите Live Reload. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.
Устранение неполадок
Если у вас возникли проблемы, убедитесь, что ваш Mac и устройство находятся в одной сети и могут связаться друг с другом. Многие открытые беспроводные сети с закрытыми порталами настроены таким образом, чтобы предотвратить доступ устройств к другим устройствам в сети. В этом случае вы можете использовать функцию персональной точки доступа вашего устройства. Вы также можете поделиться своим подключением к Интернету (WiFi / Ethernet) с вашего Mac на ваше устройство через USB и подключиться к сборщику через этот туннель для очень высокой скорости передачи.
При попытке подключиться к серверу разработки может появиться красный экран с сообщением об ошибке:
Чтобы решить эту проблему, проверьте следующие пункты.
1. Сеть Wi-Fi.
Убедитесь, что ваш ноутбук и телефон подключены к одной сети Wi-Fi.
2. IP-адрес
Убедитесь, что скрипт сборки правильно определил IP-адрес вашего компьютера (например, 10.0.1.123).
Откройте вкладку навигатора отчетов, выберите последнюю сборку и найдите IP=, а затем IP-адрес. IP-адрес, встроенный в приложение, должен совпадать с IP-адресом вашего компьютера.
Создание приложения для производства
Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в App Store. Этот процесс такой же, как и в любом другом нативном приложении для iOS, с некоторыми дополнительными соображениями, которые необходимо учитывать. Следуйте инструкциям по публикации в Apple App Store, чтобы узнать больше.
Для создания приложения для устройств iOS требуется компьютер Mac. Кроме того, вы можете обратиться к нашему руководству по настройке среды, чтобы узнать, как создать приложение с помощью интерфейса командной строки Expo, что позволит вам запускать приложение с помощью клиентского приложения Expo.
Для создания приложения для устройств iOS требуется компьютер Mac. Кроме того, вы можете обратиться к нашему руководству по настройке среды, чтобы узнать, как создать приложение с помощью интерфейса командной строки Expo, что позволит вам запускать приложение с помощью клиентского приложения Expo.
Когда вы используете App Inventor с телефоном или планшетом, это устройство взаимодействует с программным обеспечением App Inventor, запущенным в окне браузера вашего компьютера. Эта связь управляется вспомогательным приложением AI2, работающим на устройстве. Инструкции ниже (Шаг 2) объясняют, как установить компаньон. Companion может связываться с вашим компьютером по беспроводному соединению. Это метод, настоятельно рекомендуемый командой App Inventor. Он не требует установки дополнительного программного обеспечения на ваш компьютер. (См. вариант 1 в разделе «Настройка App Inventor».)
Однако в некоторых средах беспроводное подключение не работает. К ним относятся некоторые отели, конференц-центры и школы, которые настраивают свои беспроводные сети таким образом, чтобы запретить взаимодействие двух устройств в сети друг с другом. См. Как мое устройство Android подключается через Wi-Fi? для краткого объяснения. Некоторые пользователи App Inventor решили эту проблему, купив беспроводной маршрутизатор и настроив собственную локальную сеть. (Кроме того, большинство компьютеров Mac и некоторые ПК могут служить маршрутизаторами Wi-Fi, способными обслуживать небольшое количество машин.) Но даже там, где это невозможно, вы все равно можете использовать App Inventor с телефоном или планшетом, если вы подключите его к компьютеру с помощью USB-кабель.
Настройка USB-подключения может быть неудобной, особенно на компьютерах с Windows, которым требуется специальный драйвер для подключения к устройствам Android. (Это не относится к Mac или Linux, которым не нужны специальные драйверы.) К сожалению, для разных устройств могут потребоваться разные драйверы, и, за исключением нескольких стандартных моделей, Microsoft и Google предоставили производителям устройств возможность создавать и поставить драйверы. Как следствие, вам, возможно, придется искать в Интернете подходящий драйвер для вашего телефона. App Inventor предоставляет тестовую программу, которая проверяет, может ли ваше устройство, подключенное через USB, обмениваться данными с компьютером. Вы должны запустить этот тест и решить все проблемы с подключением, прежде чем пытаться использовать App Inventor с USB на этом устройстве.
Вот как начать использовать App Inventor с кабелем USB:
Шаг 1. Установите программу установки App Inventor
Для подключения через USB необходимо сначала установить на компьютер программу установки App Inventor. (Это не требуется для метода Wi-Fi.) Следуйте приведенным ниже инструкциям для вашей операционной системы, затем вернитесь на эту страницу, чтобы перейти к шагу 2.
Шаг 2. Загрузите и установите вспомогательное приложение MIT AI2 на свой телефон.
Откройте сканер QR-кода на своем устройстве и отсканируйте QR-код слева внизу, чтобы загрузить вспомогательное приложение из Play Store. Если вы не можете использовать Play Маркет, используйте QR-код справа, чтобы загрузить вспомогательное приложение прямо на свой телефон.
Play Маркет
Файл APK
Отсканируйте этот QR-код (или нажмите на эту ссылку),
чтобы загрузить приложение из Play Store
Отсканируйте этот QR-код (или нажмите на эту ссылку)
чтобы скачать приложение напрямую
После загрузки следуйте инструкциям по установке приложения Companion на свое устройство.Вам нужно установить MIT AI2 Companion только один раз, а затем оставить его на своем телефоне или планшете, когда вы будете использовать App Inventor.
Примечание. Если вы решите не использовать Play Маркет, а вместо этого загружать приложение напрямую ("боковая загрузка"), вам потребуется включить параметр в настройках вашего устройства, чтобы разрешить установку приложения из «неизвестных источников». Чтобы найти этот параметр в версиях Android до 4.0, перейдите в «Настройки > Приложения» и установите флажок рядом с «Неизвестные источники». Для устройств под управлением Android 4.0 или выше перейдите в «Настройки». > Безопасность» или «Настройки > Безопасность и блокировка экрана», а затем установите флажок «Неизвестные источники» и подтвердите свой выбор.
Шаг 4. Отключите брандмауэр (не волнуйтесь, это легко сделать!)
Mac: перейдите в меню Apple, выберите «Системные настройки», выберите «Безопасность и конфиденциальность», выберите «Брандмауэр» на верхней панели и убедитесь, что он отключен.
Windows: следуйте инструкциям по отключению брандмауэра в конкретной конфигурации. Вы покидаете сайт App Inventor. Когда закончите, вернитесь на эту страницу.
Шаг 3. Запустите aiStarter (только для Windows и GNU/Linux)
Для использования эмулятора или USB-кабеля требуется программа aiStarter. Эта программа является помощником, который позволяет браузеру взаимодействовать с эмулятором или USB-кабелем. Программа aiStarter была установлена при установке пакета установки App Inventor. Вам не нужен aiStarter, если вы используете только беспроводной компаньон. На Mac aiStarter запустится автоматически, когда вы войдете в свою учетную запись, и будет работать незаметно в фоновом режиме. В Windows ярлыки для aiStarter будут доступны на рабочем столе, в меню «Пуск», во всех программах и в папке «Автозагрузка». Если вы хотите использовать эмулятор с App Inventor, вам нужно будет вручную запустить aiStarter на своем компьютере при входе в систему. Вы можете запустить aiStarter, щелкнув значок на рабочем столе или используя запись в меню «Пуск».
Значок aiStarter в Windows
Чтобы запустить aiStarter в Windows, дважды щелкните значок (показан выше). Вы поймете, что успешно запустили aiStarter, когда увидите окно, подобное следующему:
В GNU/Linux aiStarter находится в папке /usr/google/commands-for-Appinventor, и вам нужно будет запустить его вручную. Вы можете запустить его из командной строки с помощью /usr/google/appinventor/commands-for-Appinventor/aiStarter. Справку по aiStarter см. в справке по подключению.
Шаг 4. Настройте устройство для работы с USB (включите отладку по USB)
На устройстве Android откройте «Системные настройки», «Параметры разработчика», включите их и убедитесь, что «Отладка по USB» разрешена.
На большинстве устройств под управлением Android 3.2 или более ранней версии этот параметр находится в разделе "Настройки > Приложения > Разработка".
В Android 4.0 и более поздних версиях этот параметр находится в разделе "Настройки > Параметры разработчика".
Примечание. В Android 4.2 и более поздних версиях параметры разработчика по умолчанию скрыты. Чтобы сделать его доступным, перейдите в «Настройки» > «О телефоне» и семь раз коснитесь «Номер сборки». Вернитесь к предыдущему экрану, чтобы найти параметры разработчика, включая «Отладка по USB».
Шаг 5. Подключите компьютер к устройству и при необходимости выполните аутентификацию.
Подключите устройство Android к компьютеру с помощью USB-кабеля. Убедитесь, что устройство подключено как «накопительное устройство» (а не как «медиаустройство») и что оно не подключено к компьютеру как дисковод. Это может означать, что вам нужно перейти в Finder (на Mac) или «Мой компьютер» (в Windows) и отключить все диски, которые были смонтированы при подключении устройства Android.
На Android 4.2.2 и более поздних версиях при первом подключении к новому компьютеру на вашем устройстве появится экран с сообщением Разрешить отладку по USB?. Нажмите «ОК». Это аутентифицирует компьютер на устройстве, позволяя компьютеру взаимодействовать с ним. Вам нужно будет сделать это для каждого компьютера, который вы хотите подключить к устройству, но только один раз для каждого компьютера.
Шаг 6. Проверьте соединение.
Перейдите на эту страницу проверки подключения (откроется в новой вкладке браузера) и посмотрите, получите ли вы подтверждение того, что ваш компьютер может обнаружить устройство. Если проверка не удалась, перейдите в раздел «Общая справка по подключению» и просмотрите справку по USB для вашего компьютера (Windows или Mac). Вы не сможете использовать App Inventor с кабелем USB, пока не устраните проблемы с подключением. Вернитесь на эту страницу после успешного завершения теста.
Инструменты отладки для Windows поддерживают отладку ядра по кабелю USB 3.0. В этом разделе описывается, как настроить отладку USB 3.0 вручную.
Компьютер, на котором работает отладчик, называется главным компьютером, а отлаживаемый компьютер называется целевым компьютером.
Отладочный кабель USB 3.0. Это перекрестный кабель A-A, который имеет только линии USB 3.0 и не имеет шины Vbus.
На хост-компьютере хост-контроллер xHCI (USB 3.0)
На целевом компьютере хост-контроллер xHCI (USB 3.0), поддерживающий отладку
Настройка целевого компьютера
На целевом компьютере запустите инструмент UsbView. Инструмент UsbView входит в состав средств отладки для Windows.
В UsbView найдите все хост-контроллеры xHCI.
В UsbView разверните узлы хост-контроллеров xHCI. Найдите указание на то, что порт на хост-контроллере поддерживает отладку.
Запишите номер шины, устройства и функции для контроллера xHCI, который вы собираетесь использовать для отладки. UsbView отображает эти числа. В следующем примере номер шины — 48, номер устройства — 0, а номер функции — 0.
После того как вы определили контроллер xHCI, поддерживающий отладку, следующим шагом будет поиск физического разъема USB, связанного с портом на контроллере xHCI. Чтобы найти физический разъем, подключите любое устройство USB 3.0 к любому разъему USB на целевом компьютере. Обновите UsbView, чтобы увидеть, где находится ваше устройство. Если UsbView показывает, что ваше устройство подключено к выбранному хост-контроллеру xHCI, значит, вы нашли физический разъем USB, который можно использовать для отладки USB 3.0.
Прежде чем использовать bcdedit для изменения загрузочной информации, вам может потребоваться временно приостановить функции безопасности Windows, такие как BitLocker и безопасная загрузка, на тестовом ПК. Вы можете повторно включить безопасную загрузку после завершения отладки и отключения отладки ядра.
На целевом компьютере откройте окно командной строки от имени администратора и введите следующие команды:
где TargetName — это имя, которое вы создаете для целевого компьютера. Обратите внимание, что TargetName не обязательно должно быть официальным именем целевого компьютера; это может быть любая созданная вами строка, если она соответствует следующим ограничениям:
- Строка не должна содержать слово "отладка" в TargetName в любом сочетании верхнего или нижнего регистра. Например, если вы используете «DeBuG» или «DEBUG» в любом месте вашего целевого имени, отладка не будет работать правильно.
- Единственными символами в строке являются дефис (-), знак подчеркивания (_), цифры от 0 до 9 и буквы от A до Z (в верхнем или нижнем регистре).
- Максимальная длина строки – 24 символа.
В диспетчере устройств найдите USB-контроллер, который вы собираетесь использовать для отладки. В разделе Местоположение на вкладке Общие отображаются номер шины, устройства и функции. Введите эту команду:
bcdedit /set "" busparams b.d.f
где b, d и f — номера шины, устройства и функции хост-контроллера USB. Номера шины, устройства и функции должны быть в десятичном формате.
bcdedit /set "" busparams 48.0.0
Перезагрузите целевой компьютер.
Отключить управление питанием
В некоторых случаях переходы питания могут мешать отладке через USB 3.0. Чтобы избежать этих проблем, отключите выборочную приостановку для хост-контроллера xHCI (и его корневого концентратора), который вы используете для отладки.
В диспетчере устройств перейдите к узлу хост-контроллера xHCI. Щелкните узел правой кнопкой мыши и выберите «Свойства». Если есть вкладка "Управление электропитанием", откройте ее и снимите флажок Разрешить компьютеру отключать это устройство для экономии энергии.
В диспетчере устройств перейдите к узлу корневого концентратора хост-контроллера xHCI. Щелкните узел правой кнопкой мыши и выберите «Свойства». Если есть вкладка "Управление электропитанием", откройте ее и снимите флажок Разрешить компьютеру отключать это устройство для экономии энергии.
После завершения использования хост-контроллера xHCI для отладки повторно включите выборочную приостановку для хост-контроллера xHCI.
Запуск сеанса отладки в первый раз
- Подключите отладочный кабель универсальной последовательной шины (USB) 3.0 к портам USB 3.0, которые вы выбрали для отладки на главном и целевом компьютерах.
- Определите разрядность (32-разрядная или 64-разрядная) Windows, работающей на главном компьютере.
- На хост-компьютере откройте версию WinDbg (от имени администратора), соответствующую разрядности Windows, работающей на хост-компьютере. Например, если на главном компьютере установлена 64-разрядная версия Windows, откройте 64-разрядную версию WinDbg от имени администратора.
- В меню "Файл" выберите "Отладка ядра". В диалоговом окне «Отладка ядра» откройте вкладку USB. Введите целевое имя, которое вы создали при настройке целевого компьютера. Нажмите "ОК".
На этом этапе драйвер отладки USB устанавливается на хост-компьютер.Вот почему важно сопоставить разрядность WinDbg с разрядностью Windows. После установки драйвера отладки USB вы можете использовать 32-разрядную или 64-разрядную версию WinDbg для последующих сеансов отладки.
Начало сеанса отладки
Использование WinDbg
На главном компьютере откройте WinDbg. В меню «Файл» выберите «Отладка ядра». В диалоговом окне «Отладка ядра» откройте вкладку USB. Введите целевое имя, которое вы создали при настройке целевого компьютера. Нажмите "ОК".
Вы также можете начать сеанс с WinDbg, введя следующую команду в окне командной строки, где TargetName — это имя цели, которое вы создали при настройке целевого компьютера:
windbg /k usb:targetname=TargetName
Использование КД
На хост-компьютере откройте окно командной строки и введите следующую команду, где TargetName – это целевое имя, которое вы создали при настройке целевого компьютера:
kd /k usb:targetname=TargetName
Перезагрузите целевой компьютер
После подключения отладчика перезагрузите целевой компьютер. Один из способов перезагрузить компьютер — использовать команду shutdown -r -t 0 из командной строки администратора.
После перезагрузки целевого ПК отладчик должен подключиться автоматически.
Устранение неполадок
USB-устройство не распознано
Если при подключении отладочного кабеля на хосте появляется уведомление Windows с текстом «USB-устройство не распознано», возможно, возникла известная проблема совместимости USB 3.1 и 3.1. Эта проблема влияет на конфигурации отладки, когда отладочный кабель подключен к контроллеру USB 3.1 на хосте и USB-контроллеру Intel (Ice Lake или Tiger Lake) 3.1 на целевом устройстве.
Для получения дополнительной информации и списков моделей процессоров см. Ice Lake (микропроцессор) — Википедия или Tiger Lake (микропроцессор) — Википедия. Чтобы узнать модель процессора целевой машины, откройте приложение «Настройки» и перейдите в «Система», затем «О программе». «Процессор» будет указан в разделе «Характеристики устройства».
Чтобы убедиться в том, что проблема возникает именно из-за этого, откройте диспетчер устройств и найдите «Устройство для подключения USB-отладки» в разделе «Контроллеры универсальной последовательной шины». Если это устройство не может быть найдено, проверьте наличие «Неизвестного устройства» в разделе «Другие устройства». Щелкните правой кнопкой мыши устройство, чтобы открыть страницу его свойств. Текстовое поле состояния устройства будет содержать текст «Windows остановила это устройство, поскольку оно сообщило о проблемах. (Код 43)» и «USB-устройство вернуло недопустимый дескриптор USB BOS».
Чтобы обойти эту проблему, выполните следующие команды из командной строки администратора, чтобы внести изменения в реестр:
В этом руководстве описаны шаги, необходимые для подключения USB-устройства к дистрибутиву Linux, работающему на WSL 2, с использованием проекта USB/IP с открытым исходным кодом, usbipd-win.
Настройка проекта USB/IP на вашем компьютере с Windows позволит использовать стандартные USB-сценарии для разработчиков, такие как прошивка Arduino или доступ к устройству чтения смарт-карт.
Предпосылки
- Под управлением Windows 11 (сборка 22000 или выше). (Возможна поддержка Windows 10, см. примечание ниже).
- Требуется компьютер с процессором x64/x86. (В настоящее время Arm64 не поддерживается usbipd-win).
- Установлен дистрибутив Linux и настроен WSL 2.
- Ядро Linux версии 5.10.60.1 или выше.
Чтобы проверить версию и номер сборки Windows, нажмите клавишу с логотипом Windows + R, введите winver и выберите ОК. Вы можете выполнить обновление до последней версии Windows, выбрав «Пуск» > «Параметры» > «Центр обновления Windows» > «Проверить наличие обновлений». Чтобы проверить версию ядра Linux, откройте дистрибутив Linux и введите команду: uname -a . Чтобы вручную обновить ядро до последней версии, откройте PowerShell и введите команду: 'wsl --update`.
Для подключения USB-устройств к дистрибутиву Linux, работающему на WSL 2, рекомендуется Windows 11. Однако Windows 10 можно использовать для подключения USB-устройств, создав собственное ядро WSL 2 с поддержкой USBIP, следуя инструкциям в репозитории проекта USBIPD-WIN. .
Установите проект USBIPD-WIN
Поддержка подключения USB-устройств изначально недоступна в WSL, поэтому вам потребуется установить проект usbipd-win с открытым исходным кодом.
- Перейдите на страницу последней версии проекта usbipd-win.
- Выберите файл .msi, который загрузит программу установки. (Вы можете получить предупреждение с просьбой подтвердить, что вы доверяете этой загрузке).
- Запустите загруженный установочный файл usbipd-win_x.msi.
Это установит:
- Служба под названием usbipd (отображаемое имя: USBIP Device Host). Вы можете проверить статус этой службы с помощью приложения "Службы" в Windows.
- Инструмент командной строки usbipd . Расположение этого инструмента будет добавлено в переменную среды PATH.
- Правило брандмауэра под названием usbipd разрешает всем локальным подсетям подключаться к службе. Вы можете изменить это правило брандмауэра, чтобы точно настроить контроль доступа.
Установите инструменты USBIP и базу данных оборудования в Linux
После завершения установки проекта USB/IP вам потребуется установить инструменты пользовательского пространства и базу данных идентификаторов оборудования USB. Эти инструкции предназначены для Ubuntu — для других дистрибутивов может потребоваться другой клиентский пакет usbip.
В Ubuntu выполните эту команду:
На данный момент в Windows запущена служба для совместного использования USB-устройств, а в WSL установлены необходимые инструменты для подключения к общим устройствам.
Подключение USB-устройства
Перед подключением USB-устройства убедитесь, что командная строка WSL открыта. Это сохранит активность упрощенной виртуальной машины WSL 2.
Выведите список всех USB-устройств, подключенных к Windows, открыв PowerShell в режиме администратора и введя команду:
Выберите идентификатор шины устройства, которое вы хотите подключить к WSL, и выполните эту команду. WSL запросит у вас пароль для запуска команды sudo. Подключаемый дистрибутив Linux должен быть дистрибутивом по умолчанию. (См. документ Основные команды для WSL, чтобы изменить дистрибутив по умолчанию).
Откройте Ubuntu (или предпочтительную командную строку WSL) и выведите список подключенных USB-устройств с помощью команды:
Вы должны увидеть только что подключенное устройство и иметь возможность взаимодействовать с ним с помощью обычных инструментов Linux. В зависимости от вашего приложения вам может потребоваться настроить правила udev, чтобы разрешить пользователям без полномочий root доступ к устройству.
После завершения использования устройства в WSL можно либо физически отключить USB-устройство, либо выполнить эту команду из PowerShell в режиме администратора:
Чтобы узнать больше о том, как это работает, посетите блог командной строки Windows и репозиторий usbipd-win на GitHub.
Читайте также: