[БЕЗ_ЗВУКА] Итак, в этом видео мы будем создавать эмулятор для запуска нашего приложения, нашего проекта. Итак, что для этого нужно сделать? Надо открыть меню, Tools, Android, AVD Manager, то есть Android Virtual Device Manager. Либо это же меню можно запустить отсюда, щелкнуть на иконке с фиолетовым экраном и зеленым маскотом Android на панели инструментов. Щелкаем, открывается окошко. Нажимаем на кнопку Create Virtual Device, где мы будем выбирать уже оболочку для нашего эмулятора. Соответственно, здесь мы выбираем категорию: TV, часы, телефоны, планшеты. Остановимся на телефонах. Заранее предсозданные пресеты оболочек, то есть копии существующих телефонов от Google: это Pixel, Nexus и какие-то совсем уж абстрактные. На что обращаем внимание? На размер экрана в дюймах, на разрешение экрана и на плотность пикселей. Про связь между разрешением экрана и размером и плотностью пикселей будет рассказано в отдельном документе. Сейчас не акцентируем на этом внимание, просто выбираем то, что нам больше нравится. На будущее, если ни один из существующих пресетов вас не устраивает, то вы можете кликнуть New Hardware Profile и вбить самолично то, что вам нужно: диагональ, разрешение, память, с которой будет работать эмулятор, и так далее. Можете поиграть с этим сами позже. Отменяем это, набираем пиксель пять дюймов, 1080 x 1920 xxhdpi, щелкаем Next. Дальше выбираем операционную систему, которая будет установлена на нашу оболочку. Соответственно, на что обращаем внимание при выборе системного образа? Во-первых, это версия операционной системы. Здесь напечатаны, находятся названия, списки, здесь уровень API. Если вы указывали минимальный поддерживаемый уровень API достаточно высоким, допустим, 25 API, у нас стоит 19 прямо сейчас, то если бы мы указали 25, то если бы мы создали Marshmallow, то наш эмулятор на Marshmallow не смог бы запустить этот проект. Там было бы написано, что текущий эмулятор с операционной системой Marshmallow 23-го уровня не может запустить проект с минимум API 25-го уровня. Но наш проект имеет min API 19, поэтому все, что находится в этом списке, на нем пойдет. Дальше, что еще тут заметно? Во-первых, то, что Oreo я уже скачал, потому что планирую его запускать. Но в принципе, если вам не нравится Oreo и вы хотите какое-то другое изображение, и скорее всего у вас даже не будет выбора, вам придется качать в любом случае, щелкайте на Download, и открывается загрузка. В первый раз там будет выбор: принять либо не принять лицензионное соглашение. На самом деле выбор абстрактный, принимать придется в любом случае, отменяем загрузку, вставляем Oreo. Дальше, на что обращаем внимание? Архитектура x86 либо ARM. В чем разница? Если у вас процессор от Intel и операционная система Windows, то эмулятор, и соотвественно, если процессор поддерживает технологию VTx, то эмулятор будет работать очень быстро за счет ускорения. Если у вас AMD процессор и вы работаете на Windows, то, к сожалению, штатный эмулятор, который предлагает Android Studio, будет работать очень медленно. В этом случае вам нужно воспользоваться либо реальным устройством, либо сторонним эмулятором. Откуда брать сторонние эмуляторы, я расскажу попозже. В чем еще разница? x86 рано или поздно упираются в 10-й уровень API Android 2.3.3. У ARM есть даже образы самого первого Android, уровень API 3, Android 1,5. Дальше, в последнем столбце Target выделено, что некоторые из образов имеют в скобках Google API. Это Google Play сервисы. Соответственно, даже на них можно будет запустить Play market Google Play и установить какие-то приложения, если вам это нужно, и естественно, другие возможности Google Play Services. Оставляем Oreo, щелкаем Next. И последний экран создания эмулятора: название эмулятора, его характеристики, можем щелкнуть Change и снова пройти через то, через что мы проходили. Ориентация, которая будет при запуске, портретная, ландшафтная, Graphics Automatic можно, в принципе, не трогать. Эмулятор будет сам решать, на чем ему будет работать лучше, быстрее: либо на железном ускорении, либо на софтовом ускорении. Дальше галочка Enable Device Frame означает, что в эмуляторе будет такая декоративная окантовка в виде той оболочки, которую мы выбрали. То есть, если я сейчас ставлю галочку, то будет окантовка в виде пикселя. Но, лично на мой взгляд, это лишняя трата пространства, времени, нервов. Так что мы ее отключим. Кликаем на Show Advanced Settings, и здесь настройки эмулятора, но самая важная, на мой взгляд, настройка — это Enable keyboard input, то есть включение возможности вбивать текст в эмулятор через соответственно клавиатуру компьютера, а не набирать его в самом эмуляторе через виртуальную клавиатуру. Оставляем галочку, щелкаем Finish. Итак, эмулятор создался, и можно его запускать. Причем запустить мы его можем как отдельно, так и вместе с проектом. То есть если эмулятор не запущен, то при запуске вместе с приложением, с проектом, эмулятор создастся, и на него установится приложение и запустится. Если мы запускаем его просто так, то эмулятор создастся и будет ждать ваших дальнейших действий. Я кликнул на создание, на просто запуск эмулятора, и ждем, пока эмулятор запустится. Вот он появился, запускается. Итак, эмулятор запустился, и в зависимости от вашего железа, ваших текущих характеристик, это может занимать различное время. Давайте покликаем наш эмулятор, и в принципе видим, что он достаточно отзывчив, опять же, благодаря Intel процессору и ускорению. Приложение открывается, здорово. Теперь давайте запустим на нем наш проект. Переключаемся обратно в Android Studio, закрываем это окошечко и щелкаем на Run — вкладочку с зеленой стрелочкой. В окне выбираем наш эмулятор, он уже выбран, щелкаем OK. Запускается сборка, и впоследствии еще будет запущена установка на эмулятор. [НЕРАЗБОРЧИВО] можем переключиться на наш эмулятор и видим наш проект. Соответственно он выглядит точно так же, как и на макете. Кнопочка, которую мы добавили, текст, который мы меняли, можем даже переключиться обратно, щелкнуть на Launch и, допустим, поменять размер текста. textSize = 40 sp. Щелкаем снова на Launch, на Run, включается наш эмулятор, и видим изменения. Отлично. Третья Android Studio поддерживает еще Instant Run — это когда меняется текущее Activity, обновляется, при этом не требуется установка приложения. Мы видели, что повторный запуск приложения занимает какое-то время. Давайте теперь сделаем текст жирным, textStyle = bold, и поменяем цвет, чтобы уже было четко видно textColor = colorAccent. Видим текущее состояние, новое состояние. Щелкаем на Instant Run. Переключаемся. Поменялось, намного быстрее, чем сборка, установка и запуск с нуля. Но, опять же, у Instant Run есть свои проблемы, свои минусы. В частности, если у вас очень много классов и очень много зависимостей, то изменения в одном классе не могут примениться к изменениям в других классах. Поэтому если у вас тяжелый проект, то лучше не пользоваться Instant Run, а железно запускать заново. Итак, мы создали эмулятор и впервые запустили наш проект, чуть-чуть даже поиграли с ним.