База знаний

Android Studio 2.0

В апреле 2016 вышла версия Android Studio 2.0 с новым эмулятором.

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

Для работы с новым эмулятором следует обновить SDK Tools до версии 25.1.1 или выше, создать новое виртуальное устройство, используя образ x86-системы. Страница документации.

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

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

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

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

Перед разработкой приложения необходимо создать виртуальное устройство, которое включает в себя эмулятор. Само устройство создается в 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/com.qalight.filesystemdemo:

adb push D:\meow.txt /data/data/com.qalight.filesystemdemo

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

ls /data/data/com.qalight.filesystemdemo

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

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

adb pull [remote_device_path] [local_path]

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

adb pull /data/data/com.qalight.filesystemdemo/databases/images.db D:\Downloads\images.db