Приложение не может быть запущено в эмуляторе или дебаг режиме
Практически каждый владелец Android устройства, который решил улучшить своего любимца путем замены прошивки или ядра операционной системы, сталкивается с программой adb.
Для большинства новичков именно эта программа становится непреодолимым препятствием и мы сегодня расскажем вам, как установить и начать работу с этим замечательным приложением, которое поможет вам, например, получить root права на вашем устройстве, прошить новую версию Android или даже восстановить ваш телефон или планшет к первоначальному состоянию после неудачного вмешательства в систему.
Так что же такое ADB, полюбившийся всем моддерам и хакерам, где его взять, и зачем он нам нужен?
Что такое ADB.
Аббревиатура ADB расшифровывается как Android Debug Bridge (отладочный мост Андроид). ADB является составной частью Android SDK, который можно скачать отсюда.
Так как операционная система Android является разновидностью Linux, для ее настройки часто возникает необходимость работы через командную строку. Конечно, существуют программы – эмуляторы терминала, которые позволяют выполнять команды прямо на устройстве но, во-первых, на маленьком экране телефона делать это неудобно, а во-вторых, иногда требуется доступ к устройству через компьютер, и в этих и многих других случаях программа adb просто незаменима. Программа adb устанавливает связь между устройством и компьютером и позволяет прямо на компьютере выполнять различные манипуляции с системой Android.
Как установить ADB.
Прежде всего, рекомендуем вам скачать самую последнюю версию Android SDK, на момент написания этого руководства доступна версия r11, на ее примере построено все дальнейшее описание, и в более ранних версиях, местоположение необходимых программ после установки SDK, может отличаться от описанного здесь.
1. Скачиваем Android SDK, его можно найти по ссылке указанной ранее. Имеется несколько разновидностей SDK, для Microsoft Windows, Mac OS и Linux.
Нам потребуется разновидность для Microsoft Windows. И здесь есть два варианта – скачать установщик или zip архив с Android SDK. Установщик нам не нужен, тем более он не позволит установить SDK в Windows 7, и поэтому скачиваем zip архив.
В архиве находится папка android-sdk-windows, которая и содержит сам SDK. Распаковываем ее на компьютер. В нашем примере, мы разместили папку в корне диска С. Если вы сделаете то же самое, путь к SDK будет у нас такой: C:android-sdk-windows
В более ранних версиях SDK внутри этой папки в папке tools располагалась нужная нам программа adb, но позднее она была перемещена разработчиками в папку platform-tools.
Однако, если вы зайдете в эту папку, вы не найдете внутри нее программу adb, поэтому переходим к следующему этапу установки.
2. Устанавливаем SDK Platform Tools.
Убеждаемся, что наш компьютер подключен к интернету и запускаем находящуюся в папке android-sdk-windows, программу SDK Manager. После запуска программы появится такое окно:
Нам нужно скачать и установить Android SDK Platform-tools и Android SDK Tools.
С помощью двойного клика по пункту или нажатием на «Accept» и «Reject» отмечаем эти два пункта в списке и снимаем отметку со всех остальных пунктов, как показано на приведенном выше скриншоте. Затем нажимаем «Install» и ждем пока скачаются и установятся нужные нам компоненты.
Теперь мы имеем установленную adb на своем компьютере, но для работы с нашим телефоном или планшетом нужно будет установить их драйвер и для дальнейшего удобства с программой, неплохо было бы прописать путь к ней и другим компонентам в систему Windows.
3. Если мы зайдем в папку C:android-sdk-windowsplatform-tools , то теперь сможем там обнаружить программу adb.
После этого, нам нужно отредактировать системную переменную PATH, чтобы каждый раз при запуске программы и вводе команд не набирать путь к программе, который выглядит так:
C:android-sdk-windowsplatform-toolsadb
Если вы ни разу не редактировали системные переменные, создайте точку восстановления системы, чтобы потом можно было вернуть ее в первоначальное состояние.
В следующем окне на вкладке «Дополнительно» нажимаем на кнопку «Переменные среды». В списке «Системные переменные» выбираем переменную «path» и нажимаем кнопку «Изменить…»
Откроется окно редактирования переменной, и в пункте «значение переменной» в самый конец строки, после точки с запятой добавляем путь к папке tools и папке platform-tools:
(если в конце строки не было точки с запятой, добавьте её – каждый путь в этой строке должен отделяться от другого точкой с запятой)
Если вы установили Android SDK в другую папку, пропишите в конце строки ваш путь к папкам tools и platform-tools.
Нажимаем "ОК", чтобы сохранить изменения. После этого, чтобы изменения вступили в силу, нужно будет перезагрузить компьютер.
Установка драйверов устройства.
Некоторые устройства, например телефоны и планшеты компании Samsung имеют собственное программное обеспечение для синхронизации с компьютером, и если оно у вас установлено на компьютере, то драйвер устройства уже установлен у вас в системе.
Но для таких устройств, как Nexus One, которые поставляются без каких либо дополнительных программ и драйверов, для работы с Android SDK, драйверы установить необходимо.
Для этого идем в папку, в которую мы устанавливали SDK и запускаем SDK Manager.
Точно так же, как мы устанавливали Android SDK Platform-tools и Android SDK Tools, находим и выбираем в списке «Google Usb Driver package». Нажимаем «Install» и ждем пока программа скачает драйверы. Драйверы для 32 и 64 разрядной Windows будут скачаны в следующую папку:
C:1android-sdk-windowsextrasgoogleusb_driver
Теперь можно установить драйверы для вашего устройства. Для этого в меню настроек телефона или планшета выбираем пункт «Приложения» (Applications), и в нем включаем «Отладка USB» (USB debugging).
Подключаем наше устройство к компьютеру. Компьютер обнаружит новое оборудование и предложит установить драйверы. Устанавливаем драйверы из папки, куда они были скачаны ранее.
После установки драйверов в диспетчере устройств появится новое устройство «ADB Interface» и мы можем убедиться в этом открыв его, нажав правой клавишей мыши по иконке «Компьютер» -> «Свойства» -> «Диспетчер устройств»
Кроме того, вы можете попробовать установить на компьютер универсальный ADB драйвер.
Как запустить ADB
Работать с программой adb лучше всего через командную строку Windows. Для вызова командной строки на компьютере с Windows XP, нажимаем «Пуск» и в поле ввода «Выполнить» набираем cmd и нажимаем «Enter».
На компьютере с Windows 7, нажимаем «Пуск» и в поле ввода «Найти программы и файлы» набираем cmd и нажимаем «Enter».
Откроется окно командной строки, и для того чтобы, например посмотреть какие устройства у нас подключены к компьютеру, набираем в нем команду
adb devices.
Программа adb отобразит список устройств, подключенных в настоящий момент к компьютеру.
ADB (Android Debug Bridge Utility) это командная строка включенная в Android SDK. ADB позволяет управлять Вашим устройством через USB, копировать файлы, устанавливать и удалять приложения и многое другое. ADB позволяет использовать некоторые хитрости Android.
Перейдите на страницу загрузки Android SDK и прокрутите страницу вниз до “SDK Tools Only”. Загрузите ZIP файл для вашей ОС и распакуйте архив.
Запустите exe файл SDK Manager и снимите галочки со всех пунктов, кроме “Android SDK Platform-tools”. Если вы используете смартфон Nexus, то вы также можете установить галочку на пункте “Google USB Driver”, чтобы загрузить драйвера. Нажмите на кнопку установки. Произойдет загрузка и установка компонентов, в том числе ADB и другие утилиты.
Когда установка будет завершено можете закрыть SDK manager.
Внимание! В данный момент установка происходит следующим образом:
Перейдите на страницу загрузки Android Studio, пролистайте вниз до раздела «Get just the command line tools» и скачайте архив для соответствующей версии ОС (в нашем случае это Windows).
Разархивируйте скачанный архив, например, в корень диска C.
Взаимодействие с SDK Manager осуществляется через командную строку. Здесь Вы можете узнать все команды, но мы остановимся на главных. Чтобы запустить SDK Manager зайдите в папку, куда Вы распаковали содержимое архива > tools > bin и удерживая клавишу Shift нажмите правую кнопку мыши на свободном участке и выберите «Открыть окно команд», если Вы используете версию, отличную от Windows 10. Или запустите командную строку и укажите рабочую директорию. В моем случае это:
Введите команду sdkmanager и нажмите Enter, чтобы увидеть все доступные параметры. Но нас интересует следующая команда:
Это команда установит platform tools (включая adb и fastboot) и инструменты SDK для API 26, что соответствует Android версии 8.x. Полный список версий Android и соответствующих ему API описан ниже:
Т.к. у меня устройство с Android 7.0, то моя команда будет выглядеть так:
Также Вы можете проделать этот шаг через графический интерфейс Android Studio. Для этого перейдите на страницу загрузки, скачайте, установите и запустите Android Studio.
Проверьте, чтобы стояла галочка напротив пункта «Android SDK Platform-tools» и «Google USB Drive», если Вы используете устройство Nexus. Нажмите «OK», чтобы закрыть SDK Manager, также закройте Android Studio.
Вернитесь на главную страницу настроек, у Вас должен появится новый пункт “Для разработчиков”. Включите “Отладка по USB”. Введите пароль или PIN-код, если необходимо.
Как только это сделаете, соедините свой телефон с компьютером. У вас появится окно на телефоне с вопросом «Включить отладку по USB?». Поставьте галочку в поле «Всегда разрешать для этого компьютера» и нажмите OK.
Откройте папку, где установлен SDK и там откройте папку platform-tools. Здесь хранится ADB программа. Удерживайте клавишу Shift и щелкните правой кнопкой мыши внутри папки. Выберите пункт «Открыть окно команд».
Чтобы проверить, правильно ли работает ADB, подключите устройство Android к компьютеру с помощью кабеля USB и выполните следующую команду:
Вы должны увидеть устройство в списке. Если устройство подключено к компьютеру, но оно не отображается в списке, то необходимо установить ADB driver для Вашего устройства. На сайте производителя Вашего устройства должны быть соответствующие файлы. Например для устройств Motorola их можно скачать здесь, для Samsung здесь, для HTC драйвера входят в программу HTC Sync Manager. Вы также можете найти необходимые файлы на сайте XDA Developers без дополнительных программ.
Вы также можете установить Google USB Driver из папки Extras в окне SDK Manager, как мы упоминали в первом шаге.
Если вы используете Google USB driver, то придется заставить Windows использовать установленные драйверы для вашего устройства. Откройте Диспетчер устройств (правой кнопкой мыши на ярлыке Мой компьютер и выбрать Свойства — Диспетчер устройств), найдите в списке свое устройство. Нажмите правой кнопкой на нем и выберите Свойства. Перейдите на вкладку Драйвер и нажмите кнопку Обновить. Выберите «Выполнить поиск драйверов на этом компьютере».
Найдите Google USB Driver в папке Extras с установленным SDK, и выберите папку googleusb_driver и нажмите Далее. Как только драйвера установятся, пробуйте еще раз выполнить команду adb devices . Если все сделано правильно и драйверы подходят, то Вы увидите свое устройство в списке. Поздравляем, Вы смогли установить ADB driver.
ADB предлагает некоторые полезные команды:
— Установить приложение на телефон, находящееся по пути C:package.apk на компьютере;
— Удалить приложение с именем package.name с устройства. Например, команда com.rovio.angrybirds удалит игру Angry Birds;
— Помещает файл с компьютера на устройство. Данная команда отправит файл C:file на компьютере на устройство по пути /sdcard/file<.
— Работает как предыдущая команда, но в обратном направлении.
Многие из нас уже знакомы с ADB (Android Debug Bridge), поскольку, будучи владельцем Android устройства, довольно часто приходится выполнять такие простые действия, как adb push и pull, или adb reboot и т.д. Но для многих начинающих пользователей один только вид командной строки уже пугает, и кажется запредельно возможным. Хотя на самом деле всё довольно просто, опытные пользователи не дадут мне соврать, а самая большая сложность заключается в том, чтобы запомнить все эти команды, хотя это тоже не обязательно делать, поскольку Интернет всегда под рукой и найти нужную команду не составляет труда.
Android Debug Bridge, который является частью эмулятора Android SDK, позволяет осуществлять связь между Вашим компьютером и подключенным к нему Android устройством, кстати если нужен какой то софт, то программы на ноутбук скачать бесплатно можно здесь. Что я могу делать с помощью ADB? Возможности у него довольно широкие, например, самые популярные действия: копировать файлы с Android устройства на компьютер, заливать файлы с компьютера на Android, выполнять множество Linux команд, получать отчеты об ошибках и т.д.
Поэтому, если Вы новичок в этом деле и хотите узнать немного больше об ADB, чем просто что это такое, тогда предлагаю Вам ознакомится с моим небольшим базовым пособием по изучению ADB.
Что понадобится
1. Android Debug Bridge (ADB) для Windows 32bit – скачать
2. Android Debug Bridge (ADB) для Windows 64bit – скачать
3. Компьютер с установленной Windows ОС.
Теперь переходим к активной фазе:
1. Скачиваем нужный zip архив и извлекаем его куда Вам будет угодно, например, диск С.
2. Теперь переходим в директорию C:/adb/sdk/platform-tools. Здесь вы найдете набор файлов, как показано на картинке ниже.
3. Зажимаем кнопку Shift + правый клик мышью и запускаем командную строку Windows с текущей директории.
4. Вводим команду adb start-server.
5. Чтобы убедится, что Ваше устройство правильно подключено и было распознано компьютером, введите команду: adb devices. Если всё хорошо, вы увидите что то похоже на это:
Теперь, когда Ваше устройство подключено и всё работает, давайте немного с ним поиграем.
Читаем LOGCAT через ADB
Самый простой способ, это выполнить команду: adb logcat. Как результат, на экране появится всё содержимое лог файла устройства. Чтобы получить logcat в отдельном файле выполните: adb logcat > logcat.txt.
Отчет об ошибках (BUGREPORT)
Можно выполнить команду: adb bugreport, но вы получите уведомление, что сформировавшийся отчет невозможно будет прочитать, поэтому лучше воспользоваться: adb bugreport >result.txt.
ADB совместно с ROOT правами доступа
Для работы из-под ADB с полными правами доступа, нужно рутить девайс. Если девайс уже рученый, тогда выполняем команду: adb root и видим то, что показано на картинке ниже (перезагрузка ADB с root правами).
Установка приложений через ADB
Чтобы установить приложение, убедитесь, чтобы в названии apk файла не было пробелов и надо точно знать правильный путь к нему. Ну а дальше выполняем команду: adb install + название файла инсталяции. В своем примере я установил игру papertoss, поэтому если всё пройдет успешно, вы получите на экране такую картинку:
В этой статье описаны наиболее типичные ошибки и предупреждения, возникающие при настройке и запуске Android Emulator. Кроме того, описываются решения для этих ошибок, а также различные советы по устранению неполадок, которые помогут вам диагностировать проблемы с эмулятором.
Проблемы развертывания в Windows
Ошибки развертывания
Если отображается ошибка о сбое при установке APK на ваш компьютер или при запуске Android Debug Bridge (adb), убедитесь, что пакет SDK для Android может подключиться к эмулятору. Для проверки связи с эмулятором сделайте следующее:
Запустите эмулятор из Android Device Manager (выберите ваше виртуальное устройство и зажмите Запустить).
Откройте командную строку и перейдите в папку, в которой установлен adb. Если пакет SDK для Android установлен в расположении по умолчанию, adb находится в каталоге C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe; в противном случае измените этот путь для расположения пакета SDK для Android на вашем компьютере.
Введите следующую команду:
Если эмулятор доступен из Android SDK, то он отобразится в списке подключенных устройств. Пример:
Если эмулятор не появился в этом списке, запустите Диспетчер пакетов SDK для Android, примените все обновления и запустите эмулятор еще раз.
Ошибка доступа к MMIO
Отсутствующие сервисы Google Play
Если виртуальное устройство, запущенное в эмуляторе, не поддерживает установленные сервисы Google Play или Google Play Маркет, это часто связано с тем, что виртуальное устройство было создано без этих пакетов. При создании виртуального устройства (см. раздел Управление виртуальными устройствами с помощью Android Device Manager) не забудьте выбрать один или оба из следующих вариантов:
- API Google – включает Сервисы Google Play в виртуальное устройство.
- Google Play Маркет – включает Google Play Маркет в виртуальное устройство.
Например, это виртуальное устройство будет включать сервисы Google Play и Google Play Маркет:
Образы Google Play Маркет доступны только для некоторых типов базовых устройств, например Pixel, Pixel 2, Nexus 5 и Nexus 5X.
Проблемы производительности
Проблемы производительности обычно вызваны одной из следующих проблем:
Эмулятор работает без аппаратного ускорения.
Виртуальное устройство, работающее в эмуляторе, не использует образ системы на базе x86.
В следующих разделах подробно описаны эти сценарии.
Аппаратное ускорение отключено
Аппаратное ускорение включено, но эмулятор работает слишком медленно
Распространенной причиной этой проблемы является отсутствие образа на базе x86 в виртуальном устройстве (AVD). При создании виртуального устройства (см. раздел Управление виртуальными устройствами с помощью Android Device Manager) не забудьте выбрать образ системы на базе x86:
Проблемы с аппаратным ускорением
При использовании Hyper-V или HAXM для аппаратного ускорения вы можете столкнуться с проблемами конфигурации или конфликтами с другим программным обеспечением на компьютере. Проверьте, включено ли аппаратное ускорение (и какой метод ускорения используется в эмуляторе), введя следующую команду в командной строке:
Эта команда предполагает, что пакет SDK для Android установлен в расположении по умолчанию C:\Program Files (x86)\Android\android-sdk; в противном случае измените этот путь для расположения пакета SDK для Android на вашем компьютере.
Аппаратное ускорение недоступно
Если аппаратное ускорение недоступно, инструкции по его включению на компьютере см. в разделе Ускорение с помощью Hyper-V.
Неправильные настройки BIOS
Чтобы устранить эту проблему, перезагрузите BIOS на компьютере и включите следующие параметры:
- Технология виртуализации (может иметь другое название в зависимости от производителя системной платы).
- Предотвращение исполнения данных на основе оборудования.
Если аппаратное ускорение включено и BIOS настроен правильно, эмулятор должен успешно работать с аппаратным ускорением. Однако с Hyper-V и HAXM все равно могут возникать проблемы, как описано далее.
Проблемы с Hyper-V
В некоторых случаях при включении одновременно Hyper-V и платформы гипервизора Windows в диалоговом окне Включение и отключение компонентов Windows Hyper-V включается некорректно. Чтобы убедиться, что Hyper-V включен, сделайте следующее:
Введите powershell в поле поиска Windows.
Щелкните правой кнопкой мыши Windows PowerShell в результатах поиска и выберите Запуск от имени администратора.
В консоли PowerShell выполните следующую команду:
В консоли PowerShell выполните следующую команду:
Если Hyper-V и (или) платформа гипервизора не включены, используйте следующие команды PowerShell для их включения:
После завершения этих команд выполните перезагрузку.
Дополнительные сведения о включении Hyper-V (в том числе методы включения Hyper-V с помощью средства обслуживания и администрирования образов развертывания) см. в разделе Установка Hyper-V.
Проблемы с HAXM
Проблемы с HAXM часто вызваны конфликтом с другими технологиями виртуализации, неправильной конфигурацией или устаревшим драйвером HAXM.
Процесс HAXM не запущен
Если решение HAXM установлено, введите следующую команду в командной строке, чтобы проверить, что процесс HAXM запущен:
Если процесс HAXM запущен, вы увидите примерно следующий результат:
Если параметр STATE не равен RUNNING , то для решения этой проблемы см. раздел Использование Intel Hardware Accelerated Execution Manager.
Конфликты HAXM с другими технологиями виртуализации
HAXM может конфликтовать с другими технологиями, использующими виртуализацию, такими как Hyper-V, Windows Device Guard и некоторые антивирусы:
Hyper-V – если вы используете версию Windows младше версии Windows 10 с обновлением за апрель 2018 г. (сборка 1803) , а Hyper-V включен, см. раздел Отключение Hyper-V, чтобы включить HAXM.
Device Guard – Device Guard и Credential Guard могут препятствовать отключению Hyper-V на компьютерах с Windows. Порядок отключения Device Guard и Credential Guard см. в разделе Отключение Device Guard.
Антивирусное ПО – если на вашем компьютере запущенно антивирусное ПО, использующее аппаратную виртуализацию (например, Avast), отключите или удалите его, перезагрузите компьютер и снова запустите эмулятор Android.
Неправильные настройки BIOS
Если вы используете HAXM на компьютере с Windows, HAXM не заработает, пока технология виртуализации (Intel VT-x) не будет включена в BIOS. Если VT-x отключен, то при попытке запуска Android Emulator вы получите следующую ошибку:
Компьютер удовлетворяет требованиям для запуска HAXM, но технология виртуализации Intel (VT-x) отключена.
Для исправления этой ошибки перезагрузите компьютер в BIOS, включите VT-x и SLAT (трансляция адресов второго уровня) и перезагрузите компьютер обратно в Windows.
Отключение Hyper-V
Если вы используете версию Windows младше версии Windows 10 с обновлением за апрель 2018 г. (сборка 1803) , а Hyper-V включен, нужно отключить Hyper-V и перезапустить компьютер для установки и использования HAXM. Если вы используете версию Windows 10 с обновлением за апрель 2018 г. (сборка 1803) или более позднюю, Android Emulator версии 27.2.7 или более поздней может использовать Hyper-V (вместо HAXM) для аппаратного ускорения, поэтому отключать Hyper-V не требуется.
Технологию Hyper-V можно отключить из панели управления, выполнив следующие действия:
Введите компоненты windows в поле поиска Windows и выберите Включение и отключение компонентов Windows в результатах поиска.
Снимите флажок Hyper-V:
Также для отключения гипервизора Hyper-V можно использовать следующую команду Powershell:
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor
Intel HAXM и Microsoft Hyper-V не могут быть активны одновременно. К сожалению, переключение между технологиями Hyper-V и HAXM без перезагрузки компьютера невозможно.
В некоторых случаях выполнение описываемых выше действий не позволяет отключить технологию Hyper-V, если включены функции Device Guard и Credential Guard. Если вам не удается отключить Hyper-V (или по всем признакам эта технология отключена, но установка HAXM все равно завершается сбоем), отключите функции Device Guard и Credential Guard, выполнив действия, описываемые в следующем разделе.
Отключение функции Device Guard
Функции Device Guard и Credential Guard могут препятствовать отключению технологии Hyper-V на компьютерах под управлением ОС Windows. Это часто происходит на компьютерах, присоединенных к доменам, которые настраиваются и контролируются управляющей ими организацией. Чтобы проверить, выполняется ли функция Device Guard в ОС Windows 10, выполните следующие действия:
Введите Сведения о системе в поле поиска Windows и выберите Сведения о системе в результатах поиска.
В разделе Сведения о системе проверьте наличие службы Безопасность на основе виртуализации Device Guard и убедитесь, что она имеет состояние Выполняется:
Если функция Device Guard включена, выполните следующие действия для ее отключения:
Убедитесь, что технология Hyper-V отключена в окне Включение или отключение компонентов Windows, как описывается в предыдущих разделах.
В поле поиска Windows введите gpedit.msc и выберите элемент Изменение групповой политики. Будет запущен редактор локальных групповых политик.
В редакторе локальных групповых политик выберите Конфигурация компьютера > Административные шаблоны > Система > Device Guard:
Измените значение параметра Включить средство обеспечения безопасности на основе виртуализации на Отключено (как показано выше) и закройте редактор локальных групповых политик.
В поле поиска Windows введите cmd. Когда в результатах поиска появится элемент Командная строка, щелкните пункт Командная строка правой кнопкой мыши и выберите Запустить от имени администратора.
Скопируйте и вставьте следующие команды в окно командной строки (если диск Z: используется, выберите вместо него букву свободного диска):
Перезапустите компьютер. На экране загрузки должен появиться запрос следующего вида:
Вы действительно хотите отключить Credential Guard?
Нажмите указанную в запросе клавишу, чтобы отключить Credential Guard.
После перезагрузки компьютера еще раз убедитесь, что технология Hyper-V отключена (см. ранее описываемые действия).
Если технология Hyper-V по-прежнему не отключена, значит, отключение функций Device Guard или Credential Guard запрещено политиками на вашем присоединенном к домену компьютере. В таком случае вы можете запросить у администратора домена исключение, которое позволит отключить Credential Guard. Кроме того, вы можете использовать для работы с HAXM компьютер, который не присоединен к домену.
Дополнительные советы по устранению неполадок
Следующие рекомендации часто помогают диагностировать проблемы с эмулятором Android.
Запуск эмулятора из командной строки
Если эмулятор еще не запущен, вы можете запустить его из командной строки (а не из среды Visual Studio) для просмотра его выходных данных. Как правило, образы AVD эмулятора Android хранятся в следующем расположении (замените имя_пользователя своим именем пользователя Windows):
C:\Users\имя_пользователя\.android\avd
Запустите эмулятор с образом AVD из этого расположения, передав имя папки AVD. Например, эта команда запускает виртуальное устройство Android с именем Pixel_API_27:
В этом примере предполагается, что пакет SDK для Android установлен в расположении по умолчанию C:\Program Files (x86)\Android\android-sdk; в противном случае измените этот путь для расположения пакета SDK для Android на вашем компьютере.
При выполнении этой команды вы получите много строк выходных данных во время запуска эмулятора. В частности, вы увидите строки, как в следующем примере, если аппаратное ускорение включено и работает должным образом (в этом примере для аппаратного ускорения используется HAXM):
Просмотр журналов Device Manager
Часто можно диагностировать проблемы с эмулятором, просмотрев журналы Device Manager. Эти журналы записываются в следующее расположение:
C:\Users\имя_пользователя\AppData\Local\Xamarin\Logs\16.0
Просмотрите файл DeviceManager.log в текстовом редакторе, например в Блокноте. Следующий пример записи журнала указывает, что HAXM не найден на компьютере:
Проблемы развертывания в macOS
Ошибки развертывания
Если отображается ошибка о сбое при установке APK на ваш компьютер или при запуске Android Debug Bridge (adb), убедитесь, что пакет SDK для Android может подключиться к эмулятору. Для проверки связи сделайте следующее:
Запустите эмулятор из Android Device Manager (выберите ваше виртуальное устройство и зажмите Запустить).
Откройте командную строку и перейдите в папку, в которой установлен adb. Если пакет SDK для Android установлен в расположении по умолчанию, adb находится в каталоге
/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/adb; в противном случае измените этот путь для расположения пакета SDK для Android на вашем компьютере.
Введите следующую команду:
Если эмулятор доступен из Android SDK, то он отобразится в списке подключенных устройств. Пример:
Если эмулятор не появился в этом списке, запустите Диспетчер пакетов SDK для Android, примените все обновления и запустите эмулятор еще раз.
Ошибка доступа к MMIO
Отсутствующие сервисы Google Play
Если виртуальное устройство, запущенное в эмуляторе, не поддерживает установленные сервисы Google Play или Google Play Маркет, это обычно связано с тем, что виртуальное устройство было создано без этих пакетов. При создании виртуального устройства (см. раздел Управление виртуальными устройствами с помощью Android Device Manager) не забудьте выбрать один или оба из следующих вариантов:
- API Google – включает Сервисы Google Play в виртуальное устройство.
- Google Play Маркет – включает Google Play Маркет в виртуальное устройство.
Например, это виртуальное устройство будет включать сервисы Google Play и Google Play Маркет:
Образы Google Play Маркет доступны только для некоторых типов базовых устройств, например Pixel, Pixel 2, Nexus 5 и Nexus 5X.
Проблемы производительности
Проблемы производительности обычно вызваны одной из следующих проблем:
Эмулятор работает без аппаратного ускорения.
Виртуальное устройство, работающее в эмуляторе, не использует образ системы на базе x86.
В следующих разделах подробно описаны эти сценарии.
Аппаратное ускорение отключено
Аппаратное ускорение включено, но эмулятор работает слишком медленно
Распространенной причиной этой проблемы является отсутствие образа на базе x86 в виртуальном устройстве. При создании виртуального устройства (см. раздел Управление виртуальными устройствами с помощью Android Device Manager) не забудьте выбрать образ системы на базе x86:
Проблемы с аппаратным ускорением
При использовании платформы гипервизора или HAXM для аппаратного ускорения эмулятора вы можете столкнуться с проблемами, вызванными неправильной установкой или устаревшей версией macOS. Следующие разделы помогут вам устранить эту проблему.
Проблемы с платформой гипервизора
Если вы используете macOS 10.10 или более поздней версии на более новом компьютере Mac, эмулятор Android будет автоматически использовать платформу гипервизора для аппаратного ускорения. Но на более старых компьютерах Mac или компьютерах Mac под управлением версии macOS ранее 10.10 платформа гипервизора может не поддерживаться.
Чтобы определить, поддерживает ли компьютер Mac платформу гипервизора,откройте окно терминала и введите следующую команду:
Если компьютер Mac поддерживает платформу гипервизора, эта команда вернет следующий результат:
Если платформа гипервизора недоступна на компьютере Mac, следуйте инструкциям в разделе Ускорение с помощью HAXM, чтобы вместо этого использовать HAXM для ускорения.
Проблемы с HAXM
Если Android Emulator не запускается, обычно это вызвано проблемами с HAXM. Проблемы с HAXM часто вызваны конфликтом с другими технологиями виртуализации, неправильной конфигурацией или устаревшим драйвером HAXM. Переустановите драйвер HAXM при помощи процедуры, описанной в разделе Установка HAXM.
Дополнительные советы по устранению неполадок
Следующие рекомендации часто помогают диагностировать проблемы с эмулятором Android.
Запуск эмулятора из командной строки
Если эмулятор еще не запущен, вы можете запустить его из командной строки (а не из среды Visual Studio для Mac) для просмотра его выходных данных. Как правило, образы AVD эмулятора Android хранятся в следующем расположении:
Запустите эмулятор с образом AVD из этого расположения, передав имя папки AVD. Например, эта команда запускает виртуальное устройство Android с именем Pixel_2_API_28:
Если пакет SDK для Android установлен в расположении по умолчанию, эмулятор находится в каталоге
/Library/Developer/Xamarin/android-sdk-macosx/emulator; в противном случае измените этот путь для расположения пакета SDK для Android на вашем компьютере Mac.
При выполнении этой команды вы получите много строк выходных данных во время запуска эмулятора. В частности, вы увидите строки, как в следующем примере, если аппаратное ускорение включено и работает должным образом (в этом примере для аппаратного ускорения используется платформа гипервизора):
Просмотр журналов Device Manager
Часто можно диагностировать проблемы с эмулятором, просмотрев журналы Device Manager. Эти журналы записываются в следующее расположение:
Всем добрый день,
При запуске приложения на устройстве, оно выдает ошибку сразу же "Приложение ABCD остановлено." хотя на эмуляторе всё работает без проблем. У кого нибудь было такое? как можно решить проблему?
Буду благодарен каждому совету
Версия API эмулятора 21
Версия ОС планшета Android 6
Версия ОС телефона Android 7.0
Данные файла build.gradle
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Приложение запускается на эмуляторе, а при запуске на устройстве выдает ошибку
объясните пожалуйста,в чем проблема? Приложение которое я создал,прекрасно запускается на.
Приложение не работает на реальном устройстве, только на эмуляторе Android Studio
Не работает на телефоне. Пишет <Приложение . остановлено> Я видел много решений, но не.
Сравнение координат: на эмуляторе - работает, на устройстве - нет
Добрый день. запускаю на эмуляторе - он считывает мои координаты. посылаю через эмулятор новые.
Xamarin, приложение устанавливается на телефон, но не работает, хотя работает на эмуляторе
Приложения не запускаются на телефоне, хотя в эмуляторе работают нормально. а манифесте по версиям.
Не могу понять почему так Подключил телефон с режимом отладки, запустил сразу на телефоне. Приложение установилось и работает.
Может я что то не так делаю?
Беру файл аpk c папки название проекта\app\build\outputs\apk ExFau$t, где он находится? Как его снять? В самом андроид студио ошибок нет и на эмуляторе тоже. Ошибка возникает на реальном устройстве, а отчет об ошибках в устройстве где находится не могу найти
Нашел причину.
Помог ответ от сюда.
Нужно было оказывается нажать Rebuild и потом на Build APK
Вдруг кому то пригодится
Приложение выдает ошибку, если на устройстве отключен GPS
Приложение определяет координаты, затем по координатам определяет город. Но, если на устройстве.
Приложение работает на эмуляторе но вылетает на телефоне
Происходит такая ошибка: При тестировании приложении на эмуляторе, все работает так же как и.
Приложение не запускается на телефоне, а на эмуляторе работает
скомпилированный файл не запускается на телефоне , на эмуляторе работает нажимаю установить пишет.
Приложение не работает на телефоне, но работает на эмуляторе
Доброго времени суток :) Написано простое приложение по youtube уроку для теста в Android Studio.
Приложение в телефоне работает корректно только в эмуляторе
мобильное приложение .apk который я скинул на свой телефон захожу проверяю открывает когда нажимаю.
Я делаю приложение в Android Studio, теперь пытаюсь отладить его через adb. Когда я нажимаю на слово Android и логотип на нижней панели, logcat появляется и распознает мое устройство. Тогда я вижу это:
Что мне нужно сделать для моего приложения, чтобы сделать его "отладочным"?
FYI разрабатывал это приложение в Eclipse раньше, и adb работал нормально.
есть Debug значок на панели инструментов. Он выглядит как маленький "жучок" и расположен прямо рядом с Run значок (который выглядит как кнопка воспроизведения). Попробуйте запустить приложение с этим.
изменить: при использовании Android Studio с Gradle устарело следующее.
существует также флаг отладки в AndroidManifest.xml. Он расположен под тегом приложения, и должно быть установлено значение "true", следующим образом:
Я решил эту проблему после выполнения следующих шагов:
перейти к инструментам== > android== > отключить интеграцию ADB и включить его снова.
после этого отсоедините USB от устройства и снова подключите его.
наконец нажмите shift + F9
еще одна вещь, чтобы быть осторожным (я сделал это, чтобы я знаю, duh). Убедитесь, что не включить Proguard для отладки!
Я также случайно имел эту проблему даже после отладки много раз в Android Studio. Однажды отладчик просто не будет присоединяться. Мне просто нужно было выйти из Android Studio и снова открыть его, и отладчик снова начал работать.
убедитесь, что вы включили интеграцию ADB.
в меню: Инструменты - > Android - > включить интеграцию ADB (v1.0)
- Закрыть Android Studio.
открыть консоль и написать:
adb kill-server
adb start-server
- отключить и включить USB debug переключатель в телефоне.
- удалить приложение.
- нажмите кнопку Выполнить В Android Studio.
Это уже не работает! Нет необходимости использовать debuggable= "true" в манифесте.
вместо этого вы должны установить варианты сборки в "debug"
в Android Studio перейдите в построить -> Выберите Вариант Сборки
теперь попробуйте отладку. Спасибо
один случай, когда вы не можете отлаживать приложение в Android Studio, - это когда у вас выбран вариант сборки "release". Случилось со мной-Gradle создает версию выпуска приложения (которая не отлаживается), а затем Android Studio не удается подключиться к отладчику.
- удалить приложение с устройства.
- Очистить Проект. "Построение -> Очистить Проект."
- восстановить и установить.
значок"прикрепить отладчик к процессу Android "должен использоваться в случае, если вы установили пользовательский" android:process " в файле манифеста.
В моем случае я должен выбрать подходящий процесс и нажать кнопку ОК сразу после того, как появится диалоговое окно "ожидание отладчика".
также убедитесь, что вы не используете другие приложения, которые также могут использовать ADB, например Eclipse.
проверьте, если вы приложение-проект выбран в раскрывающемся меню рядом с кнопкой отладки. Иногда Android Studio, просто сбрасывает этот выбор.
Если вы включите
в приложении манифест.xml убедитесь, что вы отключили его при создании окончательного подписанного apk, так как это может служить отверстием петли безопасности для злоумышленников. Используйте его только в том случае, если только одно из ваших приложений не показывает журналы. Однако перед рассмотрением этого варианта попробуйте следующее:
перейдите к инструментам в Android studio
обязательно включите режим разработчика и отладку USB на устройстве или эмуляторе. (Легко забыть при настройке нового.)
У вас также должны быть инструменты->Android->включить активную интеграцию ADB.
Я сделал чистую сборку, используя следующую команду.. Удивительно сработало.
sh gradlew clean build
надеюсь, кто-нибудь помогите!
это решило мою проблему. Удалите приложение с устройства и запустите его снова через Android studio.
Я проверил все способы и не из них работал .
наконец-то пришлось изменить порт adb, и это сработало. сначала убейте сервер adb, как показано ниже:
затем перезапустите его с помощью другого порта
в моем случае пришлось удалить proguard в debug Build Type, полностью очистив текстовый файл proguard-rules.pro и что делает minifyEnabled false в build.gradle file
вот немного упс, которые могут поймать некоторые: довольно легко случайно ввести фильтр для окна вывода logcat (текстовое поле с увеличительным стеклом) и забыть об этом. То, что потенциально отфильтрует весь вывод и сделает его похожим на ничто, есть.
в моем случае у меня была та же проблема, потому что я пытаюсь отладить подписанный apk. В моей конфигурации gradle я сделал разные варианты сборки и попытался отладить сборку выпуска с помощью производственного хранилища ключей.следующих
для меня это произошло, когда я использовал Proguard, поэтому, попробовав все решения, я очистил свой проект и нажал кнопку отладки на Android Studio, и он начал отладку
что выше код-это не решение. Необходимо включить отладку внутри сборки.файл gradle. Если у вас есть разные типы сборки, убедитесь, что вы установили "debuggable true" в одном из типов сборки. Вот пример кода из одного из моих проектов.
**Я удалил другие строки внутри типов зданий, которые не имеют отношения к этому вопросу из моего файла gradle здесь.
также убедитесь, что вы выбрали правильный вариант сборки в вашем android студия во время выполнения отладки.
Я делаю приложение в Android Studio, теперь пытаюсь отладить его через adb. Когда я нажимаю на слово Android и логотип на нижней панели, logcat появляется и распознает мое устройство. Тогда я вижу это:
Что мне нужно сделать для моего приложения, чтобы сделать его "отладочным"?
FYI разрабатывал это приложение в Eclipse раньше, и adb работал нормально.
есть Debug значок на панели инструментов. Он выглядит как маленький "жучок" и расположен прямо рядом с Run значок (который выглядит как кнопка воспроизведения). Попробуйте запустить приложение с этим.
изменить: при использовании Android Studio с Gradle устарело следующее.
существует также флаг отладки в AndroidManifest.xml. Он расположен под тегом приложения, и должно быть установлено значение "true", следующим образом:
Я решил эту проблему после выполнения следующих шагов:
перейти к инструментам== > android== > отключить интеграцию ADB и включить его снова.
после этого отсоедините USB от устройства и снова подключите его.
наконец нажмите shift + F9
еще одна вещь, чтобы быть осторожным (я сделал это, чтобы я знаю, duh). Убедитесь, что не включить Proguard для отладки!
Я также случайно имел эту проблему даже после отладки много раз в Android Studio. Однажды отладчик просто не будет присоединяться. Мне просто нужно было выйти из Android Studio и снова открыть его, и отладчик снова начал работать.
убедитесь, что вы включили интеграцию ADB.
в меню: Инструменты - > Android - > включить интеграцию ADB (v1.0)
- Закрыть Android Studio.
открыть консоль и написать:
adb kill-server
adb start-server
- отключить и включить USB debug переключатель в телефоне.
- удалить приложение.
- нажмите кнопку Выполнить В Android Studio.
Это уже не работает! Нет необходимости использовать debuggable= "true" в манифесте.
вместо этого вы должны установить варианты сборки в "debug"
в Android Studio перейдите в построить -> Выберите Вариант Сборки
теперь попробуйте отладку. Спасибо
один случай, когда вы не можете отлаживать приложение в Android Studio, - это когда у вас выбран вариант сборки "release". Случилось со мной-Gradle создает версию выпуска приложения (которая не отлаживается), а затем Android Studio не удается подключиться к отладчику.
- удалить приложение с устройства.
- Очистить Проект. "Построение -> Очистить Проект."
- восстановить и установить.
значок"прикрепить отладчик к процессу Android "должен использоваться в случае, если вы установили пользовательский" android:process " в файле манифеста.
В моем случае я должен выбрать подходящий процесс и нажать кнопку ОК сразу после того, как появится диалоговое окно "ожидание отладчика".
также убедитесь, что вы не используете другие приложения, которые также могут использовать ADB, например Eclipse.
проверьте, если вы приложение-проект выбран в раскрывающемся меню рядом с кнопкой отладки. Иногда Android Studio, просто сбрасывает этот выбор.
Если вы включите
в приложении манифест.xml убедитесь, что вы отключили его при создании окончательного подписанного apk, так как это может служить отверстием петли безопасности для злоумышленников. Используйте его только в том случае, если только одно из ваших приложений не показывает журналы. Однако перед рассмотрением этого варианта попробуйте следующее:
перейдите к инструментам в Android studio
обязательно включите режим разработчика и отладку USB на устройстве или эмуляторе. (Легко забыть при настройке нового.)
У вас также должны быть инструменты->Android->включить активную интеграцию ADB.
Я сделал чистую сборку, используя следующую команду.. Удивительно сработало.
sh gradlew clean build
надеюсь, кто-нибудь помогите!
это решило мою проблему. Удалите приложение с устройства и запустите его снова через Android studio.
Я проверил все способы и не из них работал .
наконец-то пришлось изменить порт adb, и это сработало. сначала убейте сервер adb, как показано ниже:
затем перезапустите его с помощью другого порта
в моем случае пришлось удалить proguard в debug Build Type, полностью очистив текстовый файл proguard-rules.pro и что делает minifyEnabled false в build.gradle file
вот немного упс, которые могут поймать некоторые: довольно легко случайно ввести фильтр для окна вывода logcat (текстовое поле с увеличительным стеклом) и забыть об этом. То, что потенциально отфильтрует весь вывод и сделает его похожим на ничто, есть.
в моем случае у меня была та же проблема, потому что я пытаюсь отладить подписанный apk. В моей конфигурации gradle я сделал разные варианты сборки и попытался отладить сборку выпуска с помощью производственного хранилища ключей.следующих
для меня это произошло, когда я использовал Proguard, поэтому, попробовав все решения, я очистил свой проект и нажал кнопку отладки на Android Studio, и он начал отладку
что выше код-это не решение. Необходимо включить отладку внутри сборки.файл gradle. Если у вас есть разные типы сборки, убедитесь, что вы установили "debuggable true" в одном из типов сборки. Вот пример кода из одного из моих проектов.
**Я удалил другие строки внутри типов зданий, которые не имеют отношения к этому вопросу из моего файла gradle здесь.
также убедитесь, что вы выбрали правильный вариант сборки в вашем android студия во время выполнения отладки.
Читайте также: