AVD Manager

Глава 1. Система Android

Оглавление

Глава 1. Система Android

1.1 Операционная система Android

1.2 Система разработки

1.2.1 Android Studio

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

1.2.3 SDK

Глава 1. Система Android

Операционная система Android появилась в 2003 году, как детище одноименной компании Android Inc и затем была приобретена компанией Google LLC в 2005 году. Первое устройство под управлением Android появилось в 2008 году. С тех пор прошло много обновлений ОС и последним на 2023 год является 13 версия.

С момента первой версии рыночная доля ОС Android среди мобильных операционных систем постоянно растет и по состоянию на 2023 год занимает 70,88% Рынка. У различных источников цифры незначительно отличаются – но одно остается неоспоримым – успех ОС Android неоспорим. Первое место частично обусловлено тем, что владельцем ОС является Google LLC, а также политикой компании в плане сопровождения, выпуска новых версий, адаптированностью под множество устройств – от смартфонов и часов, до планшетов и автомобилей. Даже на очках дополненной реальности Google Glass стояла отдельная версия ОС Android.

1.1 Операционная система Android

Ядро ОС Android основано на ядре Linux, в которое включены только необходимые модули для работы с переносной периферией и с упором на поддержку многочисленных мобильных устройств. Это ядро предоставляет все драйверы нижнего уровня, необходимые для работы с аппаратным обеспечением, средой выполнения программ и низкоуровневыми каналами данных. Помимо ядра Вы найдете среду выполнения Android(ART) и пару низкоуровневых библиотек, написанных на языке C. Библиотеки служат связующим звеном между ядром и библиотеками приложений. Android Runtime – это среда, где выполняются все Android программы

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

Над низкоуровневыми библиотеками и средой выполнения Android находится Фреймворк Приложений, который определяет архитектуру любого приложения, которое работает под управлением ОС Android. Фреймворк имеет дело с Активностями, UI виджетами, уведомлениями, ресурсами, поставщиками данных, сервисами и т.д. Знание низкоуровневых библиотек не является обязательным для Android программиста – оно повышает Ваш уровень как разработчика, в то время как знание Android фреймворка является обязательным для написание любых, даже самых простых приложений вроде Hello, World.

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

Anddroid OS Architecture
Рис 1-1 Архитектура ОС Android

Вы, как разработчик, будете создавать Android приложения, используя языки Kotlin, Java/ C/C++. А также Вы будете использовать Фреймворк Приложений и библиотеки для доступа к оборудованию и самой ОС Android. Если Вы планируете включить в свое приложение код, который написан на языках C/C++, то Вам понадобится Native Development Kit (NDK) – пакет нативной разработки, который входит в состав Android SDK. Использование NDK имеет смысл в случае добавления и портирования имеющегося отлаженного кода, так как отладка и тестирование нативного кода в Android SDK займет гораздо больше времени, чем написание аналогичного кода на Kotlin/ Java. В данноq книге разговор ведется только вокруг использования языков Kotlin и Java.

1.2 Система разработки

Операционная система, работающая на мобильных устройства – это несомненно важная часть истории человечества – но Вам как разработчику необходим инструмент для создания Android приложений, фреймворк или некая абстрактная система. Для разработки приложений можно использовать несколько IDENetBeans, Eclipse или Android Studio. Мы остановим свой взгляд на Android Studio – потому что это официально разрабатываемая компанией Google IDE для разработки Android приложений на базе IDE JetBrains.

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

1.2.1 Android Studio

IDE Android Studio – это специальная среда разработки для создания и запуска Android приложений. Главное окно IDE с запущенным эмулятором показано на рисунке 1-2.

Android Studio предоставляет следующие инструменты и возможности для разработки:

  • Мощный текстовый редактор с поддержкой языков Java, Kotlin, C++
  •  Управление ресурсами приложения
  • Возможность тестирования приложения на эмуляторе и на реальном физическом устройстве
  • Большое разнообразие средств тестирования
  • Инструмент отладки
  • Профилировщик памяти и производительности
  • Инспекция качества кода
  • Средства для сборки локальных приложений и подготовки к публикации в маркетах
Android Studio
Рис 1-2 Android Studio

Также в IDE включена встроенная справка, а также ссылки онлайн ресурсы для предоставления полной информации о среде Android Studio – в этой книге мы будем периодически напоминать об этом.

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

Разработка программного обеспечения для компьютеров всегда включается в себя проблему создания одной программы для всех доступных операционных систем. В текущей реальности мобильные устройства выпускаются в самых различных физических формах – так что этот аспект стал сейчас важен как никогда. У Вас может быть смартфон с экраном от 3.9 дюймов до 6, планшет от 7 до 14 дюймов, часы, ТВ с разными экранами, плотностью пикселей на дюйм и работающих под разными версиями ОС Android.

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

Android Studio упрощает разработку и тестирование приложений с использование эмуляторов, а с помощью инструментов SDK(см. раздел SDK) Вы можете управлять эмуляторами за пределами IDE.


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


Для управления виртуальными устройствами в IDE, необходимо открыть менеджер виртуальных устройств: Tools ➤ Device Manager или нажать на иконку смартфона в верхнем тулбаре Android Studio. В менеджере устройств Вы можете создавать новые, удалять и запускать имеющиеся виртуальные машины, как видно на рисунке 1-3.

 

AVD Manager
Рис 1.3 менеджер виртуальных машин

Когда создаете новую виртуальную машину, Вы должны выбрать тип устройства: TV, Wear, Phone, Automotive или Tablet, указать уровень API(выбрать из доступных или скачать), а также можно дополнительно указать производительность графики, режим камеры и многое другое. Если Вас интересует детальная информация, вы можете посетить сайт официальной документации по AVD https://developer.android.com/studio/run/managing-avds

Программные образы виртуальных устройств и скины, используемые для  создания виртуальных устройств могут быть Вами найдены:
SDK_INST/system-images
SDK_INST/skins
А уже созданные виртуальные устройства находятся в:
~/.android/avd
Управление запущенными виртуальными устройствами также доступно через командную строку. Смотрите раздел “Инструменты SDK” и “Инструменты SDK платформы” в Главе 19.

1.2.3 SDK

Комплект SDK, в отличие от Android Studio, представляет набор слабо связанных между собой инструментов, которые тем не менее критически необходимы для разработки Android приложений и напрямую используются Android Studio, или по крайней мере помогают в некоторых задачах разработки. Все они могут запускаться из командной оболочки или поставляться с или без собственной оболочки.

Если Вы не знаете местоположение установки SDK – Вы можете узнать в Android Studio. Достаточно пройти File ➤ Project Structure ➤ “SDK location” из меню.

Инструменты командной строки как части SDK описаны в Главе 19.

 

Leave a Reply

Please disable your adblocker or whitelist this site!