Что делает avd android virtual device
Перейти к содержимому

Что делает avd android virtual device

  • автор:

Эмулятор

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

В апреле 2016 вышла версия Android Studio 2.0 с новым эмулятором. Постепенно все материалы будут заменяться с учётом новой версии. В новых версиях студии эмуляторы также немного менялись, поэтому в статье могут быть устаревшие сведения.

Во время выбора нового устройства в эмуляторе вам могут попасться два варианта: с Google Play или с Google APIs. Обычно рекомендуют выбирать вариант с Google Play, так как в этом случае на устройстве будет доступ к одноимённому магазину приложений и плюс доступ к Google Play services. У варианта Google APIs есть доступ к Google Play services, но нет к Google Play.

Google Play and Google APIs

Вы можете просто перетащить apk-файл на окно эмулятора для быстрой установки. Также доступны изменение размеров окна, операции мультитача и многое другое.

Эмулятор Android — это важный инструмент для разработчика. Необходимо изучить его особенности и использовать его на начальном этапе разработки. Однако, следует помнить, что эмулятор лишь моделирует общее поведение реального устройства. Поэтому окончательное тестирование необходимо проводить на настоящем телефоне.

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

Одно из преимуществ AVD при тестировании устройств — возможность задавать произвольные значения для разрешения и плотности пикселей экрана. Это избавляет вас от необходимости покупать все устройства на рынке. Хотя серьёзные компании так и поступают.

Виртуальное устройство

Перед разработкой приложения необходимо создать виртуальное устройство, которое включает в себя эмулятор. Само устройство создаётся в Eclipse (божечки-кошечки, это осталось с тех времён, когда вместо Android Studio был Eclipse!). Но что происходит за кулисами? В Windows 7 в папке C:\Users\user_name\.android\avd создаются отдельные папки для каждого вида устройства под Android 2.1, 2.3 и так далее. В Linux ищите каталог /home/user_name/.android/.

Это знание может помочь вам, если ваше имя пользователя в Windows используется на русском языке. В этом случае эмулятор отказывается запускаться и выдаёт ошибку. Откройте ini-файл и пропишите путь к виртуальному устройству таким образом, чтобы в пути не встречались русские буквы (соответственно, сам файл *.avd также нужно переместить в другое место).

Ввод с настольной клавиатуры

Если в приложении есть текстовое поле и нужно вводить большой текст, то удобнее это делать с помощью настольной клавиатуры, чем тыкать мышкой по клавишам на эмуляторе. Для этого сделаем вид, что у нашего виртуального устройства есть встроенная клавиатура — открываем Android Virtual Device Manager, выбираем нужное устройство и нажимаем кнопку Edit. . Далее в диалоговом окне в разделе Hardware выбираем настройку Keyboard support и присваиваем ему свойство yes. Перезапускаем устройство и теперь можно вводить текст со своей клавиатуры.

Создание SD-карты на эмуляторе

В эмуляторе по умолчанию нет SD-карты. Необходимо сделать некоторые настройки для её эмуляции. В папке ..\Android\android-sdk\tools есть утилита MkSDCard.

Создайте карточку памяти необходимого размера и укажите путь к ней. Например, для создания карточки 256 мегабайт в папке D:\AnroidTutorial\ для файла mysdcard.iso:

 mksdcard 256M D:\AnroidTutorial\mysdcard.iso 

Кстати, не стоит гнаться за размерами карточки и тратить место на жёстком диске, так как вряд ли вы будете тестировать гигабайтные видеоролики на эмуляторе.

После создания карточки памяти, необходимо сообщить о её существовании эмулятору. Откройте Eclipse, перейдите в ваш проект. В меню Run | Run Configurations выберите пункт Android Configuration в левой части панели, потом перейдите на вкладку Target. Внизу вы увидите строчку Additional Emulator Commandline Options и текстовую строку для ввода параметров. Введите в ней строку:

 -sdcard D:\AnroidTutorial\mysdcard.iso 

Можно пойти другим путём. Откройте AVD Manager, выберите нужное устройство, которое должно иметь SD-карту, и щелкните на кнопке Edit. В диалоговом окне укажите путь к созданному образу карточки.

Чтобы копировать файлы на эмулированную карточку, можно использовать утилиту ADB с командой push (от слова пушистый кот)

 adb push [local_path] [remote_device_path] 

Например, вы хотите поместить файл meow.txt в приватную папку вашего приложения /data/data/ru.alexanderklimov.filesystemdemo:

 adb push D:\meow.txt /data/data/ru.alexanderklimov.filesystemdemo 

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

 ls /data/data/ru.alexanderklimov.filesystemdemo 

Если в списке файлов увидите нужный вам файл, значит копирование произошло успешно.

Если перед вам стоит обратная задача — извлечь файл из устройства/эмулятора, то используйте команду pull:

 adb pull [remote_device_path] [local_path] 

С её помощью также можно скопировать файл базы даннных на свой компьютер:

 adb pull /data/data/ru.alexanderklimov.filesystemdemo/databases/images.db D:\Downloads\images.db 

Эмулятор Android 4.0 с панелью навигации

В Android 4.0 появилась новая навигационная панель. Но она может не отображаться на эмуляторе. В окне настроек эмулятора достаточно поставить флажок у пункта Display a skin with hardware controls.

Панель навигации для Android 4.0

Если вы по-прежнему не видите панель навигации, то выберите устройство с большим разрешением. Я наблюдал такую проблему, когда использовалось разрешение 800 на 480.

Скопировать базу данных на эмулятор

Запустите утилиту adb.exe через командную строку.

Запустите оболочку (shell)

 C:\Program Files\Android\android-sdk\platform-tools]adb -e shell 

Определитесь с местонахождением базы данных. Если пакет имеет имя «ru.alexanderklimov.sample», то путь будет data/data/ru.alexanderklimov.sample/databases.

 cd data/data/ru.alexanderklimov.sample/databases ls 

Загружаем базу в эмулятор

 user_db 

localhost на эмуляторе

Веб-мастера часто тестируют свои сайты на собственном компьютере, устанавливая веб-сервер (Denver, XAMPP и др.). При обращении к странице на локальном сервере используются адреса типа http://localhost или http://127.0.0.1. На эмуляторе нужно использовать адрес http://10.0.2.2.

Создадим в корне сервера файл cats.php:

Hello Kitty!"; echo "

Меня видно?

"; ?>

Запустим эмулятор. Далее запустим браузер и перейдём по адресу http://10.0.2.2/cats.php

localhost

Отлично, всё работает! Это стандартные настройки. На конкретных машинах возможно понадобится дополнительно настраивать прокси, файерволы и прочее. У меня были проблемы, когда установил OpenServer.

Также можно указать dns-сервер через командную строку. Может пригодиться, если вдруг эмулятор перестал видеть интернет.

 $ANDROID_SDK/emulator/emulator -avd . -dns-server 8.8.8.8 

Тайм-аут при загрузке приложения

Иногда, при попытке загрузить приложение в эмулятор после редактирования кода, может вылезти сообщение:

Failed to install *.apk on device *: timeout Launch canceled!

Попробуйте увеличить стандартное значение, которое равно 5000, на большее число. Зайдите в меню Window | Preferences. Выберите слева Android | DDMS и в поле ADB connection time out (ms): введите нужное значение.

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

Перезагрузить эмулятор

Кстати, о перезагрузке. Можно перезагрузить сам эмулятор, если возникают с ним какие-то проблемы. Это можно сделать через вкладку Devices, если выбрать команду Reset adb.

Reset adb

Failed to allocate memory: 8

Неожиданно столкнулся с проблемой создания нового эмулятора под Nexus 7 (Android SDK Manager version 21). Эмулятор отказывался запускаться, выводя сообщение:

 Failed to allocate memory: 8 This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 

Ответ нашёлся на Stackoverflow. Нужно открыть файл C:\Users\\.android\avd\.avd\config.ini и изменить строчку hw.ramSize=1024 на hw.ramSize=1024MB.

Поддержка многопользовательского режима в Android 4.2

В Android 4.2 появилась поддержка многопользовательского режима, который можно видеть, например, на планшетах Nexus 7. Но на эмуляторе такая возможность по умолчанию отключена. Если вы хотите выделить отдельное пространство своему коту, чтобы он играл на эмуляторе в свои любимые игры и не сбивал ваши настройки, то заведите нового пользователя следующим образом.

Запустите новый эмулятор с версией Android 4.2 (можно выбрать из списка готовых устройств в AVD планшет Nexus 7). Далее запустите командную строку и выполните в ней последовательно команды:

 adb shell setprop fw.max_users 4 adb shell stop adb shell start 

После этих действий эмулятор перезагрузится и в настройках появится новый пункт Пользователи, через который можно добавить новых пользователей. Теперь, если устройство выключить/включить через кнопку питания в левой части эмулятора, то на экране блокировки увидите два значка — владельца (т.е. вас) и нового пользователя Мурзика (у вас будет имя вашего кота).

Emulator Multiuser

Google TV Emulation

Существует ещё эмуляция Google TV. Для России это пока не актуально. Просто оставлю ссылку Google TV Emulation — Google TV — Google Developers

Genymotion и другие эмуляторы

Стандартные эмуляторы, которые входят в состав SDK, вызывают много нареканий среди разработчиков. Особенно недовольны те, кто работает на не слишком мощной машине. Эмуляторы долго загружаются, медленно работают. А у некоторые эмуляторы просто не запускаются из-за проблем с драйверами.

Существует альтернатива — эмулятор Genymotion. На домашней странице можете почитать информацию об эмуляторе. Эмулятор предназначен для личного пользования, в этом случае он бесплатен. Если вы используете его для рабочих проектов, то следует купить лицензию. Бесплатной версии хватает для обычных программ при обучении. Можете смело им пользоваться.

Одно время эмулятор был очень популярен, но однажды Гугл серьёзно взялся за свой эмулятор и сильно переработал его. Поэтому на данный момент пик славы Genymotion миновал.

Управление виртуальными устройствами с помощью Диспетчер устройств Android

Это руководство описывает использование Android Device Manager для создания и настройки виртуальных устройств Android (AVD), эмулирующих физические устройства Android. Эти виртуальные устройства позволяют запускать и тестировать приложение без использования физического устройства. Дополнительные сведения о виртуальных устройствах Android см. в статье «Создание виртуальных устройств и управление ими на developer.android.com».

Включите аппаратное ускорение для устройств Android. Дополнительные сведения см. в разделе «Аппаратное ускорение для производительности эмулятора».

Android Device Manager в Windows

Вы используете диспетчер устройств Android для создания и настройки виртуальных устройств Android (AVD), работающих в эмуляторе Android. Каждое AVD является конфигурацией эмулятора, имитирующей физическое устройство Android. Это позволяет запускать и тестировать приложение в различных конфигурациях, имитирующих различные физические устройства Android.

Screenshot of the Android Device Manager in the Devices tab.

Requirements

Чтобы использовать диспетчер устройств Android, вам потребуется следующее:

  • Visual Studio 2022: поддерживаются выпуски Community, Professional и Enterprise.
  • API пакета SDK для Android 30 или более поздней версии. Не забудьте установить пакет SDK Для Android по умолчанию, если он еще не установлен: C:\Program Files (x86)\Android\android-sdk.
  • Необходимо установить следующие пакеты:
    • Средства пакета SDK для Android 5.0 или более поздней версии
    • Android SDK Platform-Tools 31.0.3 или более поздней версии
    • Android SDK Build-Tools 30.0.2 или более поздней версии
    • Эмулятор Android 30.8.4 или более поздней версии

    Эти пакеты должны отображаться с состоянием Установлено, как показано на следующем снимке экрана:

    Installing Android SDK Tools.

    При установке рабочей нагрузки разработки многоплатформенного пользовательского интерфейса приложений .NET в Visual Studio все устанавливается для вас. Дополнительные сведения о настройке .NET MAUI с помощью Visual Studio см. в статье «Создание первого приложения».

    Открытие диспетчера устройств

    Откройте диспетчер устройств Android в Visual Studio в меню «Сервис«, нажав кнопку «Сервис > Android» > диспетчер устройств:

    Launching the Device manager from the Tools menu.

    Главный экран

    При запуске диспетчер устройств Android отображается экран, на котором отображаются все настроенные виртуальные устройства. Для каждого виртуального устройства указаны параметры Имя, ОС (версия Android), Процессор, Память, а также Разрешение экрана:

    Если выбрать устройство в списке, справа отображается кнопка Запустить. Нажмите кнопку «Пуск«, чтобы запустить эмулятор с этим виртуальным устройством. Если эмулятор работает с выбранным виртуальным устройством, кнопка «Пуск» изменяется на кнопку «Остановить«, которую можно использовать для остановки эмулятора.

    Создание устройства

    Чтобы создать новое устройство, нажмите кнопку «Создать «:

    New button for creating a new device.

    Откроется окно «Новое устройство«. Чтобы настроить устройство, выполните следующие действия.

    New Device screen of the Device Manager.

    1. Задайте новое имя для устройства. В следующем примере новое устройство называется Pixel 3a — API 31.
    2. Выберите физическое устройство для эмуляции, выбрав устройство в поле «Базовое устройство «.
    3. Выберите тип процессора для этого виртуального устройства с полем «Процессор «. Рекомендуется выбрать x86_64 и включить аппаратное ускорение.
    4. Выберите версию Android (уровень API) с помощью поля ОС . Если вы выберете уровень API Android, который еще не установлен, диспетчер устройств отобразит сообщение о том, что новое устройство будет загружено в нижней части экрана. Он скачивает и установит необходимые файлы при создании нового виртуального устройства.
    5. Если вы хотите включить API-интерфейсы Служб Google Play на виртуальном устройстве, выберите вариант API Google. Чтобы включить приложение Google Play Store на виртуальное устройство, выберите параметр Google Play Store

    Примечание. Изображения Google Play Store доступны только для некоторых базовых типов устройств, таких как Pixel, Pixel 2, Pixel 3 и Nexus 5. Это обозначается текстом (+ Store) в имени изображения.

  • Используйте список свойств для изменения некоторых наиболее часто измененных свойств. Сведения о том, как это сделать, см. в разделе Изменение свойств виртуальных устройств Android.
  • Добавьте все дополнительные свойства, которые необходимо явно задать в поле «Добавить свойство » в нижней части окна: Add Property pull-down menu.Вы также можете определить пользовательское свойство, выбрав Custom. .
  • Нажмите кнопку «Создать«, чтобы создать новое устройство: Create button.При создании устройства может появиться экран принятия лицензий. Выберите «Принять», если вы согласны с условиями лицензии.
  • Пока устройство создается, Android Device Manager добавляет его в список установленных виртуальных устройств, отображая индикатор хода выполнения Создание: Creation progress Indicator.
  • После завершения процесса создания новое устройство отображается в списке установленных виртуальных устройств с кнопкой «Пуск«, готовой к запуску.
  • Изменение устройства

    Чтобы изменить существующее виртуальное устройство, выберите устройство и нажмите кнопку «Изменить «:

    Edit button for modifying a device.

    При нажатии клавиш «Изменить» отображается окно редактора устройств для выбранного виртуального устройства.

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

    Чтобы изменить свойство, измените его значение в столбце Значение. Например, на следующем снимке экрана hw.lcd.density свойство изменяется на 240:

    Device Editing example.

    После внесения необходимых изменений конфигурации нажмите кнопку «Сохранить «. Дополнительные сведения об изменении свойств виртуального устройства см. в разделе Изменение свойств виртуальных устройств Android.

    Дополнительные параметры

    Дополнительные параметры для работы с устройствами доступны в раскрывающемся меню дополнительных параметров (. ):

    Location of additional options menu.

    Меню с дополнительными параметрами содержит следующие элементы:

    • Дублирование и изменение — дублирует выбранное устройство и открывает его на экране «Новое устройство » с новым именем, аналогичным существующему устройству. Например, выберите Pixel 3a — API 31 и нажмите кнопку «Дублировать» и «Изменить» добавляет счетчик к имени: Pixel 3a — API 31 (1).
    • Начните с заводских значений по умолчанию— запускает устройство с холодной загрузкой.
    • Начните с журналов ядра— запускает эмулятор и открывает каталог журналов ядра.
    • Скачивание системного образа— скачивает системный образ ОС Android для устройства, если он еще не скачан.
    • Отображение в Обозреватель— открывает windows Обозреватель и переходит в папку, в которой хранятся файлы для виртуального устройства.
    • Восстановление — инициирует восстановление на устройстве.
    • Сброс фабрики — сбрасывает выбранное устройство в параметры по умолчанию, стирая все изменения пользователей, внесенные во внутреннее состояние устройства во время его выполнения. Это действие также удаляет текущий моментальный снимок быстрой загрузки , если он существует. Это изменение не изменяет изменения, внесенные на виртуальное устройство во время создания и редактирования. Откроется диалоговое окно с напоминанием о том, что этот сброс не может быть отменен, нажмите клавишу «Сброс фабрики», чтобы подтвердить сброс.
    • Delete — окончательно удаляет выбранное виртуальное устройство. Отображается диалоговое окно с напоминанием, что такое удаление невозможно отменить. Нажмите клавишу DELETE , если вы уверены, что хотите удалить устройство.

    Устранение неполадок

    В следующих разделах описано, как диагностировать и устранять неполадки, которые могут возникать при использовании Android Device Manager для настройки виртуальных устройств.

    ` element and add an **AndroidSdkPath** attribute to it. Set this attribute to the path where the Android SDK is installed on your computer and save the file. For example, ` ` would look like the following if the Android SDK was installed at _C:\\Programs\\Android\\SDK_: TODO: Does visual studio handle this some how now? «`xml «` After making this change to **user.config**, you should be able to launch the Android Device Manager. —>

    Неправильная версия средств пакета SDK для Android

    Если установлен неправильный пакет SDK для Android, вы можете увидеть это диалоговое окно об ошибке при запуске:

    Screenshot shows the Android SDK instance error dialog box.

    Если вы видите это диалоговое окно ошибки, нажмите клавиши Open SDK Manager , чтобы открыть диспетчер пакетов SDK Для Android. В диспетчере пакетов SDK для Android перейдите на вкладку «Сервис» и установите следующие пакеты:

    • Программы командной строки пакета SDK для Android 5.0 или более поздней версии
    • Android SDK Platform-Tools 31.0.3 или более поздней версии
    • Android SDK Build-Tools 30.0.3 или более поздней версии

    Моментальный снимок отключает Wi-Fi в Android Oreo

    Если вы настроили AVD для Android Oreo с имитацией доступа Wi-Fi, перезапуск AVD после моментального снимка может привести к отключению доступа Wi-Fi.

    Действия по решению этой проблемы:

    Location of the snapshot.pb file.

    1. Откройте диспетчер устройств Android.
    2. Выберите AVD в Android Device Manager.
    3. В меню «Дополнительные параметры» (. ) выберите «Показать» в Обозреватель.
    4. Перейдите к папке моментальных > снимков default_boot .
    5. Удалите файл snapshot.pb:
    6. Перезапустите AVD.

    После внесения этих изменений AVD перезапустится в состоянии, которое позволяет возобновить работу Wi-Fi.

    [!NOTE] > If you are using a Mac with an Apple chip, such as the M1, you’ll need to install the [Android Emulator for M1 preview from GitHub](https://github.com/google/android-emulator-m1-preview/releases). ## Android Device Manager on macOS This article explains how to use the Android Device Manager to create, duplicate, customize, and launch Android virtual devices. . image type=»content» source=»media/device-manager/mac/01-devices-dialog-sml.png» alt-text=»Screenshot of the Android Device Manager in the Devices tab.» lightbox=»media/device-manager/mac/01-devices-dialog.png». You use the Android Device Manager to create and configure *Android Virtual Devices* (AVDs) that run in the [Android Emulator](debug-on-emulator.md). Each AVD is an emulator configuration that simulates a physical Android device. This makes it possible to run and test your app in a variety of configurations that simulate different physical Android devices. ## Requirements To use the Android Device Manager, you’ll need the following items: — Visual Studio for Mac 7.6 or later. — The Android SDK must be installed (see [Setting up the Android SDK for Xamarin.Android](~/android/get-started/installation/android-sdk.md)). — The following packages must be installed (via the [Android SDK Manager](~/android/get-started/installation/android-sdk.md)): — **SDK tools version 26.1.1** or later — **Android SDK Platform-Tools 28.0.1** or later — **Android SDK Build-Tools 26.0.3** or later These packages should be displayed with **Installed** status as seen in the following screenshot: . image type=»content» source=»media/device-manager/mac/02-sdk-tools-sml.png» alt-text=»Installing Android SDK Tools.» lightbox=»media/device-manager/mac/02-sdk-tools.png». ## Launching the device manager Launch the Android Device Manager by pressing **Tools > Device Manager**: . image type=»content» source=»media/device-manager/mac/03-tools-menu-sml.png» alt-text=»Launching the Device manager from the Tools menu.» lightbox=»media/device-manager/mac/03-tools-menu.png». If the following error dialog is presented on launch, see the [Troubleshooting](#troubleshooting) section for workaround instructions: . image type=»content» source=»media/device-manager/mac/04-sdk-instance-error.png» alt-text=»Screenshot shows the Android SDK instance error dialog box for troubleshooting information.». ## Main screen When you first launch the Android Device Manager, it presents a screen that displays all currently-configured virtual devices. For each virtual device, the **Name**, **OS** (Android Version), **Processor**, **Memory** size, and screen **Resolution** are displayed: . image type=»content» source=»media/device-manager/mac/05-devices-list-sml.png» alt-text=»List of installed devices and their parameters.» lightbox=»media/device-manager/mac/05-devices-list.png». When you select a device in the list, the **Play** button appears on the right. You can press the **Play** button to launch the emulator with this virtual device: . image type=»content» source=»media/device-manager/mac/06-start-button-sml.png» alt-text=»Play button for a device image.» lightbox=»media/device-manager/mac/06-start-button.png». After the emulator starts with the selected virtual device, the **Play** button changes to a **Stop** button that you can use to halt the emulator: . image type=»content» source=»media/device-manager/mac/07-stop-button-sml.png» alt-text=»Stop button for the running device.» lightbox=»media/device-manager/mac/07-stop-button.png». When you stop the emulator, you may get a prompt asking if you want to save the current state for the next quick boot: . image type=»content» source=»media/device-manager/mac/08-save-for-quick-boot-m76.png» alt-text=»Save current state for Quick Boot dialog.». Saving the current state will make the emulator boot faster when this virtual device is launched again. For more information about Quick Boot, see [Quick Boot](debug-on-emulator.md#quick-boot). ### New device To create a new device, press the **New Device** button (located in the upper left-hand area of the screen): . image type=»content» source=»media/device-manager/mac/09-new-button-sml.png» alt-text=»New button for creating a new device.» lightbox=»media/device-manager/mac/09-new-button.png». Pressing **New Device** launches the **New Device** screen: . image type=»content» source=»media/device-manager/mac/10-new-device-editor-sml.png» alt-text=»New Device screen of the Device Manager.» lightbox=»media/device-manager/mac/10-new-device-editor.png». Use the following steps to configure a new device in the **New Device** screen: 01. Give the device a new name. In the following example, the new device is named **Pixel_API_27**: . image type=»content» source=»media/device-manager/mac/11-device-name-m76-sml.png» alt-text=»Naming the new device.» lightbox=»media/device-manager/mac/11-device-name-m76.png». 01. Select a physical device to emulate by pressing the **Base Device** pull-down menu: . image type=»content» source=»media/device-manager/mac/12-device-menu-m76-sml.png» alt-text=»Selecting the physical device to emulate.» lightbox=»media/device-manager/mac/12-device-menu-m76.png». 01. Select a processor type for this virtual device by pressing the **Processor** pull-down menu. Selecting **x86** will provide the best performance because it enables the emulator to take advantage of [hardware acceleration](hardware-acceleration.md). The **x86_64** option will also make use of hardware acceleration, but it runs slightly slower than **x86** (**x86_64** is normally used for testing 64-bit apps): . image type=»content» source=»media/device-manager/mac/13-processor-type-menu-m76-sml.png» alt-text=»Selecting the processor type.» lightbox=»media/device-manager/mac/13-processor-type-menu-m76.png». 01. Select the Android version (API level) by pressing the **OS** pull-down menu. For example, select **Oreo 8.1 — API 27** to create a virtual device for API level 27: . image type=»content» source=»media/device-manager/mac/14-android-screenshot-m76-sml.png» alt-text=»Selecting the Android version.» lightbox=»media/device-manager/mac/14-android-screenshot-m76.png». If you select an Android API level that has not yet been installed, the Device Manager will display **A new device will be downloaded** message at the bottom of the screen – it will download and install the necessary files as it creates the new virtual device: . image type=»content» source=»media/device-manager/mac/15-automatic-download-m76.png» alt-text=»A new device image will be downloaded.». 01. If you want to include Google Play Services APIs in your virtual device, enable the **Google APIs** option. To include the Google Play Store app, enable the **Google Play Store** option: . image type=»content» source=»media/device-manager/mac/16-google-play-services-m76-sml.png» alt-text=»Selecting Google Play Services and Google Play Store.» lightbox=»media/device-manager/mac/16-google-play-services-m76.png». Note that Google Play Store images are available only for some base device types such as Pixel, Pixel 2, Nexus 5, and Nexus 5X. 01. Edit any properties that you need to modify. To make changes to properties, see [Editing Android Virtual Device Properties](device-properties.md). 01. Add any additional properties that you need to explicitly set. The **New Device** screen lists only the most commonly-modified properties, but you can press the **Add Property** pull-down menu (at the bottom) to add additional properties: . image type=»content» source=»media/device-manager/mac/17-add-property-menu-m76-sml.png» alt-text=»Add Property pull-down menu.» lightbox=»media/device-manager/mac/17-add-property-menu-m76.png». You can also define a custom property by pressing **Custom. ** at the top of this property list. 01. Press the **Create** button (lower right-hand corner) to create the new device: . image type=»content» source=»media/device-manager/mac/18-create-button-m76.png» alt-text=»Create button.». 01. The Android Device Manager adds the new device to the list of installed virtual devices while displaying a **Creating** progress indicator during device creation: . image type=»content» source=»media/device-manager/mac/19-creating-the-device-m76-sml.png» alt-text=»Creation progress indicator.» lightbox=»media/device-manager/mac/19-creating-the-device-m76.png». 01. When the creation process is complete, the new device is shown in the list of installed virtual devices with a **Start** button, ready to launch: . image type=»content» source=»media/device-manager/mac/20-created-device-m76-sml.png» alt-text=»Newly-created device ready to launch.» lightbox=»media/device-manager/mac/20-created-device-m76.png». ### Edit device To edit an existing virtual device, select the **Additional Options** pull-down menu (gear icon) and select **Edit**: . image type=»content» source=»media/device-manager/mac/21-edit-button-m76-sml.png» alt-text=»Edit menu selection for modifying a new device.» lightbox=»media/device-manager/mac/21-edit-button-m76.png». Pressing **Edit** launches the Device Editor for the selected virtual device: . image type=»content» source=»media/device-manager/mac/22-device-editor-sml.png» alt-text=»Device Editor screen.» lightbox=»media/device-manager/mac/22-device-editor.png». The **Device Editor** screen lists the properties of the virtual device under the **Property** column, with the corresponding values of each property in the **Value** column. When you select a property, a detailed description of that property is displayed on the right. To change a property, edit its value in the **Value** column. For example, in the following screenshot the `hw.lcd.density` property is being changed from **480** to **240**: . image type=»content» source=»media/device-manager/mac/23-device-editing-sml.png» alt-text=»Device Editing example.» lightbox=»media/device-manager/mac/23-device-editing.png». After you’ve made the necessary configuration changes, press the **Save** button. For more information about changing virtual device properties, see [Editing Android Virtual Device Properties](device-properties.md). ### Additional options Additional options for working with a device are available from the pull-down menu located to the left of the **Play** button: . image type=»content» source=»media/device-manager/mac/24-overflow-menu-sml.png» alt-text=»Location of additional options menu.» lightbox=»media/device-manager/mac/24-overflow-menu.png». The additional options menu contains the following items: — **Edit** – Opens the currently-selected device in the device editor as described earlier. — **Duplicate and Edit** – Duplicates the currently-selected device and opens it in the **New Device** screen with a different unique name. For example, selecting **Pixel 2 API 28** and pressing **Duplicate and Edit** appends a counter to the name: . image type=»content» source=»media/device-manager/mac/25-dupe-and-edit-sml.png» alt-text=»Duplicate and Edit screen.» lightbox=»media/device-manager/mac/25-dupe-and-edit.png». — **Reveal in Finder** – Opens a macOS Finder window in the folder that holds the files for the virtual device. For example, selecting **Pixel 2 API 28** and pressing **Reveal in Finder** opens a window like the following example: . image type=»content» source=»media/device-manager/mac/26-reveal-in-finder-sml.png» alt-text=»Results of pressing Reveal in Finder.» lightbox=»media/device-manager/mac/26-reveal-in-finder.png». — **Factory Reset** – Resets the selected device to its default settings, erasing any user changes made to the internal state of the device while it was running (this also erases the current [Quick Boot](debug-on-emulator.md#quick-boot) snapshot, if any). This change doesn’t alter modifications that you make to the virtual device during creation and editing. A dialog box will appear with the reminder that this reset cannot be undone. Press **Factory Reset** to confirm the reset. . image type=»content» source=»media/device-manager/mac/27-factory-reset-m76.png» alt-text=»Factory reset dialog.». — **Delete** – Permanently deletes the selected virtual device. A dialog box will appear with the reminder that deleting a device cannot be undone. Press **Delete** if you are certain that you want to delete the device. . image type=»content» source=»media/device-manager/mac/28-delete-device-m76.png» alt-text=»Delete device dialog.». ## Troubleshooting The following sections explain how to diagnose and work around problems that may occur when using the Android Device Manager to configure virtual devices. ### Wrong version of Android SDK Tools TODO: Set the correct version numbers If Android SDK tools 26.1.1 or later isn’t installed, you may see this error dialog on launch: . image type=»content» source=»media/device-manager/mac/29-sdk-instance-error.png» alt-text=»Android SDK instance error dialog.». If you see this error dialog, press **OK** to open the Android SDK Manager. In the Android SDK Manager, go to the **Tools** tab and install the following packages: — **Android SDK Tools 26.1.1** or later — **Android SDK Platform-Tools 28.0.1** or later — **Android SDK Build-Tools 26.0.3** or later ### Snapshot disables WiFi on Android Oreo If you’ve an AVD configured for Android Oreo with simulated Wi-Fi access, restarting the AVD after a snapshot may cause Wi-Fi access to become disabled. To work around this problem, 01. Select the AVD in the Android Device Manager. 01. From the **Additional Options** (…) menu, select **Reveal in Finder**. 01. Navigate to **snapshots > default_boot**. 01. Delete the **snapshot.pb** file: . image type=»content» source=»media/device-manager/mac/30-delete-snapshot-sml.png» alt-text=»Location of the snapshot.pb file.» lightbox=»media/device-manager/mac/30-delete-snapshot.png». 01. Restart the AVD. After these changes are made, the AVD will restart in a state that allows Wi-Fi to work again. . zone-end —>

    Совместная работа с нами на GitHub

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

    Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.

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

    Урок обновлен 04.06.2017

    На прошлом уроке мы установили среду разработки и Android SDK.

    Теперь наконец-то мы можем создать наше первое приложение и посмотреть, как оно работает.

    Чтобы создать приложение, нам нужно в Android Studio создать проект. При создании проекта, в нем создается модуль. В этом модуле мы рисуем экраны приложения и пишем код. И при запуске этого модуля мы получаем готовое приложение. Поэтому модуль по сути и является приложением. А проект — контейнер для модуля.

    Т.е. в самом простом случае структура проекта такова:

    Есть проект, и в нем есть модуль. При запуске проекта запускается модуль и мы получаем Android-приложение, которое создано в этом модуле.

    В этом случае: один проект = одно Android-приложение (один модуль).

    Но в одном проекте может быть несколько модулей. Да и проектов можно создать несколько.

    Здесь в первом проекте созданы два модуля, а во втором проекте – три модуля.

    При запуске какого-либо проекта необходимо будет указать, какой именно модуль вы хотите запустить. И каждый модуль является отдельным Android-приложением.

    Т.е. в этом случае: один проект = несколько Android-приложений (несколько модулей).

    Пока не будем вдаваться в детали, какая из предложенных схем лучше и удобнее. Для прохождения уроков можно создать один проект, и в нем создавать модули для каждого урока. Либо можно создавать отдельный проект, например, на каждые 10 уроков. Можно вообще создавать отдельный проект на каждый урок.

    Я думаю, что мы начнем с варианта: один проект под все уроки. А со временем, как освоитесь, сами решите, какой вариант вам удобнее.

    Давайте создадим проект. Открываем Android Studio. Ярлык для запуска должен быть в меню пуск. Либо вы можете открыть папку, куда устанавливали Android Studio на прошлом уроке. В подпапке bin должен быть EXE-файл.

    Открылась среда разработки. Жмем Start a new Android Studio project.

    Появилось окно создания проекта. Давайте заполнять.

    Application name – имя проекта. Оно будет отображаться в списке проектов при открытии Android Studio. Напишем здесь Android lessons (т.е. Android уроки).

    Company Domain – имя сайта, пишем startandroid.ru.

    Package name – это понятие из Java, подробно можно посмотреть здесь. Вкратце – это префикс для имени классов нашего приложения. Как видите, пакет автоматически составился из имени сайта и имени проекта. Его всегда можно отредактировать вручную нажав на ссылку edit справа.

    Project location – папка на компе, где будут находиться все файлы проекта. Мы на прошлом уроке создавали папку android, куда установили Android Studio и SDK. Там же создайте папку AndroidStudioProjects – в этой папке будем хранить все проекты Android Studio. И в ней создайте папку Androidlessons для нашего текущего проекта.

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

    Визард спрашивает под какую платформу будем кодить и Minimum SDK (минимальная версия Android, на которой можно будет запустить приложение). Оставляем все как есть.

    Визард может подгрузить необходимые ему компоненты.

    Далее выберите Empty Activity.

    Здесь ничего не меняем. Пока что нам нет необходимости знать, зачем все это нужно.

    Жмем Finish.

    Далее открывается студия. После открытия, она может показывать подсказки.

    Если они вам не нужны, выключайте чекбокс.

    Жмем Close.

    Но снизу виден прогресс бар. Это означает, что еще выполняются какие то действия, и надо подождать.

    И в итоге проект открывается

    Нам сразу открыты на редактирование некоторые файлы. В них мы ничего менять не будем, в этом пока нет необходимости.

    В левой части мы видим слово app – это модуль. По умолчанию при создании проекта создается модуль app. Нам он не интересен, т.к. мы будем создавать свои модули. Но пусть он остается, удалять его я вам не советую. Тот визард, который мы только что прошли при создании проекта, в основном касался как раз этого модуля.

    Итак, проект создан. Теперь создадим в проекте свой модуль. Повторюсь, что почти для каждого урока мы будем создавать модуль в этом проекте. Сейчас создадим модуль (приложение) для этого текущего урока. Эта процедура будет частично похожа на создание проекта, но с небольшими отличиями.

    Чтобы создать модуль – в меню выбираем File -> New -> New module

    Тип модуля выбираем Phone and Tablet Application

    Application/Library name – непосредственно имя приложения, которое будет отображаться в списке приложений в смартфоне. Пишем тут FirstProject.

    Module name – это название модуля. Т.е. это название будет отображаться слева в списке модулей, там, где сейчас есть app. Давайте придумаем шаблон для названия модулей.

    На номер урока выделим три цифры, на номер проекта – одну. Также, будем добавлять название приложения — FirstProject. И все это напишем маленькими буквами и без пробелов. Получится такое имя модуля: p0031firstproject.

    Package name – имя пакета отредактируем вручную, нажав edit справа. Оставим там ru.startandroid и добавим точку и имя модуля.

    Minimum SDK оставляйте без изменений.

    Далее выберите Empty Activity.

    Здесь ничего не меняем

    Жмем Finish и ждем.

    Через какое-то время модуль будет создан и мы увидим его в списке слева. Это p0031firstproject — значение, которое мы указали в поле Module name.

    Можно раскрыть этот модуль и посмотреть его содержимое.

    Вкратце пройдемся по интересующим нас элементам

    Файл AndroidManifest.xml – манифест или конфиг-файл приложения

    В папке java и ее подпапках будет весь, написанный нами, код приложения

    Папка res используется для файлов-ресурсов различного типа.

    Все это мы будем в дальнейшем использовать, и станет понятнее, что и зачем нужно.

    Давайте наконец-то запустим наше первое приложение! Для этого надо выбрать соответствующий ему модуль в выпадающем списке сверху

    И жмем (чуть правее списка) кнопку с зеленым треугольником (либо комбинацию Shift+F10).

    Чтобы запустить приложение, нужно какое-нить реальное Android-устройство или эмулятор.

    У нас пока не на чем запускать приложение. Можете подключить шнуром реальное устройство, и оно здесь появится (если не возникнет проблем с драйверами или настройками устройства).

    Либо можно создать эмулятор. Жмем Create New Virtual Device

    Здесь можно выбрать форм-фактор устройства. Оставляйте то, что выбрано по умолчанию.

    Жмем Next

    Далее переходите на вкладку x86 Images и там должен быть образ, в названии которого нет слова Download. Т.е. он уже загружен и мы можем его использовать.

    В данном случае на эмулятор будет установлен Android версии 7.1.1. Если вам нужна другая версия, то загружайте ее и используйте.

    Далее нам предлагают указать название эмулятора и поменять его настройки. Оставляем все как есть

    Жмем Finish

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

    Жмем Ok

    Через какое-то время (вплоть до нескольких минут) появится эмулятор

    И в нем начнет запускаться Android

    И в итоге запустится наше приложение

    Название в заголовке — FirstProject. Именно его мы указывали при создании приложения.

    Т.е. вы создали и запустили ваше первое приложение, с чем вас и поздравляю) Впереди сотни таких приложений и запусков.

    Если эмулятор не показал ваше приложение, то убедитесь, что Android Studio «видит» этот эмулятор. Для этого снизу слева нажмите вкладку Android Monitor

    И в списке устройств чуть выше должен быть виден эмулятор Nexus_5X_API_25

    Если эмулятор есть в списке, а приложение не отобразилось, то попробуйте снова запустить приложение, нажав зеленый треугольник (Shift+F10).

    Если эмулятора в списке нет, то закройте эмулятор и попробуйте снова запустить приложение.

    Этот урок был обновлен в июне 2017. А многие последующие уроки были написаны аж в 2011-2012. Поэтому скриншоты в них могут отличаться от ваших. Это нормально.

    Также, должен предупредить, что я делал и тестировал первые уроки под Android версии 2.3.3. Это указано в начале уроков. Но это вовсе не означает, что уроки уже безнадежно устарели и читать их смысла нет никакого. Код под 2.3.3 и 7.1.1 в подавляющем большинстве случаев абсолютно один и тот же. В новых версиях Android добавляются новые компоненты, а прошлые обычно остаются без изменений и достаточно редко меняются или объявляются устаревшими.

    Если у вас открыт проект и вы хотите снова увидеть стартовое окно Android Studio, в меню выберите File > Close Project.

    Вы увидите стартовое окно, слева будет список ваших проектов.

    Если у вас имя пользователя русскими буквами, то могут возникнуть проблемы. Как их решить, можно прочесть на форуме в ветке этого урока.

    Если строка выше не помогла, то попробуйте еще такое решение.

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

    Присоединяйтесь к нам в Telegram:

    — в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

    — в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Compose, Kotlin, RxJava, Dagger, Тестирование, Performance

    — ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

    Создание эмулятора Android, настройка AVD

    Давайте создадим эмулятор android, для тестирования в процессе написания приложений. В прошлый раз мы настроили SDK в среде Android Studio , обновили версии, пакеты OS Android. Впрочем, можно пользоваться реальным устройством: телефон, планшет.

    Создание эмулятора Android, настройка эмулятора Android

    Иногда это оправдано, к примеру, если вы создаете android APK для себя. На телефоне включаем в меню режим разработчика, подключаем устройство по USB кабелю к компьютеру, и при сборке приложение будет устанавливаться на смартфон, тестируйте на здоровье. Можно тестировать по WIFI, через adb, лично я ставил на телефон ADB Wireless Pro 1.9.2,

    Создание эмулятора Android, настройка AVD

    при запуске выбирал тип подключения wifi, а на компьютере в total commander, в разделе плагины запускал ADB,

    Создание эмулятора Android, настройка AVD

    указывал ip и port,

    Создание эмулятора Android, настройка AVD

    Создание эмулятора Android, настройка AVD

    Далее Android Studio по wifi устанавливал тестируемый apk на телефон. Можно и через консоль но «это не наш метод». Зачем нужен эмулятор Android, спросите вы? А затем, что версий андроид и моделей устройств просто зоопарк целый, и с каждым днем становится все больше. Представьте если вам нужно писать для «старенькой» модели телефона или планшета, а у вас его нет в наличии, не покупать же. Этот способ подходит для крупных компаний, профессионально занимающихся разработкой приложений для android, с бюджетом, стремящимся к бесконечности. Мы же из простых, мелкопоместных, будем юзать эмулятор, он до определенной степени предоставляет возможность выбора версий и моделей андройдов, хотя он память жрет прилично..

    Запустим Android Studio, в верхнем меню нажмем Tools->Android->AVD Manager,

    Создание эмулятора Android, настройка AVD

    в нем нажмем кнопку внизу с зеленым плюсом Create Virtual Device.

    Новое виртуальное устройство

    Создание эмулятора Android, настройка AVD

    В Category выберем Phone, вроде там это по умолчанию, для примера эмулятор будем создавать по образу и подобию Galaxy Nexus, жмем Next

    Создание эмулятора Android, настройка AVD

    Android Studio, исходя из установленных у меня в системе образов, рекомендовала мне Marshmallow версия 6.0,

    Создание эмулятора Android, настройка AVD

    так как я не скачал Android N 7.0, впрочем, для тестов мне и этого достаточно

    Создание эмулятора Android, настройка AVD

    на третей вкладке Other Images, можно выбрать другую версию, хотите можете поэкспериментировать) жмем Next

    На следующем шаге можно переименовать наше виртуальное устройство, сменить размер экрана, версию андроида,

    Создание эмулятора Android, настройка AVD

    хотя можно и так оставить.

    Больший интерес представляет кнопка дополнительной настройки Show Advanced Settings

    Создание эмулятора Android, настройка AVD

    нажав на которую будут показаны элементы настройки камеры, сети, можно регулировать объем оперативной памяти, размер SD CARD, насчет памяти особо важно, я оставил 1 ГГб, вы можете поставить 512 Мб, если оперативы на ПК маловато.

    Жмем Finish, после некоторых раздумий при создании нового AVD, вы увидите, в менеджере новое виртуальное устройство.

    Создание эмулятора Android, настройка AVD

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

    Нажмем Пуск, подождем некоторое время, пока виртуальное устройство запустится

    Создание эмулятора Android, настройка AVD

    я для примера запустил диспетчер задач, чтобы посмотреть, сколько расходуется памяти. При том, что на эмуляторе не запущено ни одного приложения для тестирования, сама студия использовала 700 МБ оперативной памяти, а эмулятор более 1,4 ГГб. В следующий раз создадим что нибудь для примера и сравним результаты.

    В этом видео подробно показано как создать эмулятор Android и настроить AVD:

    Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в YouTube, там Вы найдете много интересного видео, которое выходит достаточно часто. Приятного просмотра!

    С уважением, авторы сайта Компьютерапия

    Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

    Связанные статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *