Что такое система android. Андроид для чайников - что это за система. Установка мелодии вызова

Определение того, что такое «Андроид» в телефоне, является таким: это предназначенная в первую очередь для сенсорных мобильных устройств. Будучи изначально разработанной для компании Android Inc с финансовой поддержкой Google и позже выкупленной этой компанией в 2005 году, ОС была представлена в 2007 году вместе с альянсом Open Handset Alliance. Первый телефон на этой платформе был продан в октябре 2008 года.

Android имеет открытый исходный код, который Google выпускает под лицензией Apache. Это означает, что при помощи разрешительного лицензирования можно разрабатывать программное обеспечение, благодаря чему ОС быстро стала популярной среди специалистов и разработчиков. Поэтому, говоря о том, что такое «Андроид» в телефоне, можно смело утверждать, что это - платформа, имеющая большое сообщество разработчиков, которые пишут приложения, расширяющие функциональность устройств. Как правило, все приложения пишутся на специальной версии В октябре 2012 года насчитывалось около 700 000 приложений, доступных для загрузки на телефон программы «Андроид», а оценочное число приложений, загружаемых из Google Play, первичного официального магазина, составило 25 миллиардов долларов.

Эти факторы способствовали тому, что Android стала наиболее широко используемой платформой для смартфонов в мире, обогнав Symbian в четвертом квартале 2010 года. Многие технологические компании быстро разобрались в том, что такое «Андроид» в телефоне, и сегодня она повсеместно используется как недорогая, настраиваемая и легкая в использовании операционная система для высокотехнологичных устройств.

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

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

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

Статьи и Лайфхаки

Сегодня уже тяжело найти такого человека, который бы не любил окружать себя «умной» техникой. Фраза «без телефона – как без рук» звучит все чаще и чаще, а представить себе жизнь без плеера, ноутбука или другого популярного гаджета вообще невозможно.

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

Что такое Андроид

  • Андроид – это операционная система, которая может управлять мобильным устройством (телефоном, планшетным компьютером, смартфоном). Платформа андроид была разработана на основе ядра Linux.
  • Появилась же она благодаря тому, что в 2005 году компания Google купила компанию Android Inc, сделав ее своим дочерним предприятием, и начала выпускать одноименные платформы для мобильных устройств. С тех пор платформа только развивается.
  • Андроид очень часто выпускает новые версии своей программы. Примечательным является тот факт, что первые буквы названия каждой новой версии соответствуют буквам латинского алфавита.
  • Сегодня платформа андроид занимает второе место по популярности в мире, уступая лишь в операционной системе iOS, которая была разработана для iPhone.

Для чего нужен Андроид

  • Как известно, операционная система – это «мозг» любого электронного устройства, который нужен для того, чтоб оно выполняло все команды человека.
  • Соответственно, андроид – это виртуальный робот, сидящий внутри мобильного устройства, который отвечает за выполнение всех процессов, происходящих внутри этого устройства.
  • Преимущество данной платформы состоит в том, что андроид имеет удобный и очень понятный интерфейс, а также гибкую и мультизадачную систему, которая позволяет запускать несколько приложений сразу и экспериментировать с настройками.
  • Кроме всего прочего, многочисленные приложения, созданные специально для платформы андроид, дают счастливым пользователям этой системы поистине безграничные возможности.
  • Ведь с помощью этих приложений можно расплачиваться за покупки, делать фотографии, смотреть фильмы или читать книги.
  • Разобравшись с тем, что такое андроид, можно сделать вывод о том, что эта платформа создана для творческих людей, ведь два одинаковых мобильных устройства могут выглядеть совершенно по-разному.
  • Андроид позволяет всегда иметь при себе все – личного фитнесс-тренера, доктора, игрушку или телевизор, делая человеческую жизнь максимально комфортной.

Тебя никогда не интересовало, как работают fastboot или ADB? Или почему смартфон под управлением Android практически невозможно превратить в кирпич? Или, может быть, ты давно хотел узнать, где кроется магия фреймворка Xposed и зачем нужны загрузочные скрипты /system/etc/init.d? А как насчет консоли восстановления (recovery)? Это часть Android или вещь в себе и почему для установки сторонней прошивки обычный рекавери не подходит? Ответы на все эти и многие другие вопросы ты найдешь в данной статье.

Как работает Android

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

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

Шаг первый. ABOOT и таблица разделов

Все начинается с первичного загрузчика. После включения питания система исполняет код загрузчика, записанного в постоянную память устройства. Затем он передает управление загрузчику aboot со встроенной поддержкой протокола fastboot, но производитель мобильного чипа или смартфона/планшета имеет право выбрать и любой другой загрузчик на его вкус. Например, компания Rockchip использует собственный, несовместимый с fastboot загрузчик, для перепрограммирования и управления которым приходится использовать проприетарные инструменты.

Протокол fastboot, в свою очередь, представляет собой систему управления загрузчиком с ПК, которая позволяет выполнять такие действия, как разлочка загрузчика, прошивка нового ядра и recovery, установка прошивки и многие другие. Смысл существования fastboot в том, чтобы иметь возможность восстановить смартфон в начальное состояние в ситуации, когда все остальные средства не работают. Fastboot останется на месте, даже если в результате экспериментов ты сотрешь со смартфона все разделы NAND-памяти, содержащие Android и recovery.

Получив управление, aboot проверяет таблицу разделов и передает управление ядру, прошитому в раздел с именем boot, после чего ядро извлекает в память RAM-образ из того же раздела и начинает загрузку либо Android, либо консоли восстановления. NAND-память в Android-устройствах поделена на шесть условно обязательных разделов:

  • boot - содержит ядро и RAM-диск, обычно имеет размер в районе 16 Мб;
  • recovery - консоль восстановления, состоит из ядра, набора консольных приложений и файла настроек, размер 16 Мб;
  • system - содержит Android, в современных девайсах имеет размер не менее 1 Гб;
  • cache - предназначен для хранения кешированных данных, также используется для сохранения прошивки в ходе OTA-обновления и поэтому имеет размер, сходный с размерами раздела system;
  • userdata - содержит настройки, приложения и данные пользователя, ему отводится все оставшееся пространство NAND-памяти;
  • misc - содержит флаг, определяющий, в каком режиме должна грузиться система: Android или recovery.

Кроме них, также могут существовать и другие разделы, однако общая разметка определяется еще на этапе проектирования смартфона и в случае aboot зашивается в код загрузчика. Это значит, что: 1) таблицу разделов нельзя убить, так как ее всегда можно восстановить с помощью команды fastboot oem format; 2) для изменения таблицы разделов придется разлочить и перепрошить загрузчик с новыми параметрами. Из этого правила, однако, бывают исключения. Например, загрузчик того же Rockchip хранит информацию о разделах в первом блоке NAND-памяти, так что для ее изменения перепрошивка загрузчика не нужна.

Особенно интересен раздел misc. Существует предположение, что изначально он был создан для хранения различных настроек независимо от основной системы, но в данный момент используется только для одной цели: указать загрузчику, из какого раздела нужно грузить систему - boot или recovery. Эту возможность, в частности, использует приложение ROM Manager для автоматической перезагрузки системы в recovery с автоматической же установкой прошивки. На ее же основе построен механизм двойной загрузки Ubuntu Touch, которая прошивает загрузчик Ubuntu в recovery и позволяет управлять тем, какую систему грузить в следующий раз. Стер раздел misc - загружается Android, заполнил данными - загружается recovery... то есть Ubuntu Touch.

Шаг второй. Раздел boot

Если в разделе misc не стоит флаг загрузки в recovery, aboot передает управление коду, расположенному в разделе boot. Это не что иное, как ядро Linux; оно находится в начале раздела, а сразу за ним следует упакованный с помощью архиваторов cpio и gzip образ RAM-диска, содержащий необходимые для работы Android каталоги, систему инициализации init и другие инструменты. Никакой файловой системы на разделе boot нет, ядро и RAM-диск просто следуют друг за другом. Содержимое RAM-диска такое:

  • data - каталог для монтирования одноименного раздела;
  • dev - файлы устройств;
  • proc - сюда монтируется procfs;
  • res - набор изображений для charger (см. ниже);
  • sbin - набор подсобных утилит и демонов (adbd, например);
  • sys - сюда монтируется sysfs;
  • system - каталог для монтирования системного раздела;
  • charger - приложение для отображения процесса зарядки;
  • build.prop - системные настройки;
  • init - система инициализации;
  • init.rc - настройки системы инициализации;
  • ueventd.rc - настройки демона uventd, входящего в состав init.

Это, если можно так выразиться, скелет системы: набор каталогов для подключения файловых систем из разделов NAND-памяти и система инициализации, которая займется всей остальной работой по загрузке системы. Центральный элемент здесь - приложение init и его конфиг init.rc, о которых во всех подробностях я расскажу позже. А пока хочу обратить внимание на файлы charger и ueventd.rc, а также каталоги sbin, proc и sys.

Файл charger - это небольшое приложение, единственная задача которого - вывести на экран значок батареи. Он не имеет никакого отношения к Android и используется тогда, когда устройство подключается к заряднику в выключенном состоянии. В этом случае загрузки Android не происходит, а система просто загружает ядро, подключает RAM-диск и запускает charger. Последний выводит на экран иконку батареи, изображение которой во всех возможных состояниях хранится в обычных PNG-файлах внутри каталога res.

Файл ueventd.rc представляет собой конфиг, определяющий, какие файлы устройств в каталоге sys должны быть созданы на этапе загрузки системы. В основанных на ядре Linux системах доступ к железу осуществляется через специальные файлы внутри каталога dev, а за их создание в Android отвечает демон ueventd, являющийся частью init. В нормальной ситуации он работает в автоматическом режиме, принимая команды на создание файлов от ядра, но некоторые файлы необходимо создавать самостоятельно. Они перечислены в ueventd.rc.

Каталог sbin в стоковом Android обычно не содержит ничего, кроме adbd, то есть демона ADB, который отвечает за отладку системы с ПК. Он запускается на раннем этапе загрузки ОС и позволяет выявить возможные проблемы на этапе инициализации ОС. В кастомных прошивках в этом каталоге можно найти кучу других файлов, например mke2fs, которая может потребоваться, если разделы необходимо переформатировать в ext3/4. Также модеры часто помещают туда BusyBox, с помощью которого можно вызвать сотни Linux-команд.

Каталог proc для Linux стандартен, на следующих этапах загрузки init подключит к нему procfs, виртуальную файловую систему, которая предоставляет доступ к информации обо всех процессах системы. К каталогу sys система подключит sysfs, открывающую доступ к информации о железе и его настройкам. С помощью sysfs можно, например, отправить устройство в сон или изменить используемый алгоритм энергосбережения.

Файл build.prop предназначен для хранения низкоуровневых настроек Android. Позже система обнулит эти настройки и перезапишет их значениями из недоступного пока файла system/build.prop.


Выносы из текста

  • Fastboot останется на месте, даже если в результате экспериментов ты сотрешь со смартфона содержимое всех разделов NAND-памяти
  • Раздел recovery полностью самодостаточен и содержит миниатюрную операционную систему, которая никак не связана с Android
  • Слегка изменив файл fstab, мы можем заставить init загрузить систему с карты памяти

Шаг второй, альтернативный. Раздел recovery

В том случае, если флаг загрузки recovery в разделе misc установлен или пользователь включил смартфон с зажатой клавишей уменьшения громкости, aboot передаст управление коду, расположенному в начале раздела recovery. Как и раздел boot, он содержит ядро и RAM-диск, который распаковывается в память и становится корнем файловой системы. Однако содержимое RAM-диска здесь несколько другое.

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

В стандартном (стоковом) recovery таких функций обычно всего три: установка подписанных ключом производителя смартфона прошивок, вайп и перезагрузка. В модифицированных сторонних recovery, таких как ClockworkMod и TWRP, функций гораздо больше. Они умеют форматировать файловые системы, устанавливать прошивки, подписанные любыми ключами (читай: кастомные), монтировать файловые системы на других разделах (в целях отладки ОС) и включают в себя поддержку скриптов, которая позволяет автоматизировать процесс прошивки и многие другие функции.

С помощью скриптов, например, можно сделать так, чтобы после загрузки recovery автоматически нашел на карте памяти нужные прошивки, установил их и перезагрузился в Android. Эта возможность используется инструментами ROM Manager, auto-flasher, а также механизмом автоматического обновления CyanogenMod и других прошивок.

Кастомные рекавери также поддерживают скрипты бэкапа, располагающиеся в каталоге /system/addon.d/. Перед прошивкой recovery проверяет наличие скриптов и выполняет их перед тем, как произвести прошивку. Благодаря таким скриптам gapps не исчезают после установки новой версии прошивки.

Команды fastboot

Чтобы получить доступ к fastboot, необходимо установить Android SDK, подключить смартфон к ПК с помощью кабеля и включить его, зажав обе кнопки громкости. После этого следует перейти в подкаталог platform-tools внутри SDK и запустить команду

Fastboot devices

На экран будет выведено имя устройства. Другие доступные команды:

  • fatsboot oem unlock - разлочка загрузчика на нексусах;
  • update файл.zip - установка прошивки;
  • flash boot boot.img - прошивка образа boot-раздела;
  • flash recovery recovery.img - прошивка образа раздела recovery;
  • flash system system.img - прошивка образа системы;
  • oem format - восстановление разрушенной таблицы разделов;

Шаг третий. Инициализация

Итак, получив управление, ядро подключает RAM-диск и по окончании инициализации всех своих подсистем и драйверов запускает процесс init, с которого начинается инициализация Android. Как я уже говорил, у init есть конфигурационный файл init.rc, из которого процесс узнает о том, что конкретно он должен сделать, чтобы поднять систему. В современных смартфонах этот конфиг имеет внушительную длину в несколько сот строк и к тому же снабжен прицепом из нескольких дочерних конфигов, которые подключаются к основному с помощью директивы import. Тем не менее его формат достаточно простой и по сути представляет собой набор команд, разделенных на блоки.

Каждый блок определяет стадию загрузки или, выражаясь языком разработчиков Android, действие. Блоки отделены друг от друга директивой on, за которой следует имя действия, например on early-init или on post-fs. Блок команд будет выполнен только в том случае, если сработает одноименный триггер. По мере загрузки init будет по очереди активировать триггеры early-init, init, early-fs, fs, post-fs, early-boot и boot, запуская таким образом соответствующие блоки команд.


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

Наиболее примечательный из дополнительных конфигов носит имя initrc.имя_устройства.rc, где имя устройства определяется автоматически на основе содержимого системной переменной ro.hardware. Это платформенно-зависимый конфигурационный файл, который содержит блоки команд, специфичные для конкретного устройства. Кроме команд, отвечающих за тюнинг ядра, он также содержит примерно такую команду:

Mount_all ./fstab.имя_устройства

Она означает, что теперь init должен подключить все файловые системы, перечисленные в файле./fstab.имя_устройства, который имеет следующую структуру:

Имя_устройства_(раздела) точка_монтирования файловая_система опции_фс прочие опции

Обычно в нем содержатся инструкции по подключению файловых систем из внутренних NAND-разделов к каталогам /system (ОС), /data (настройки приложений) и /cache (кешированные данные). Однако слегка изменив этот файл, мы можем заставить init загрузить систему с карты памяти. Для этого достаточно разбить карту памяти на три 4 раздела: 1 Гб / ext4, 2 Гб / ext4, 1 Гб / ext4 и оставшееся пространство fat32. Далее необходимо определить имена разделов карты памяти в каталоге /dev (для разных устройств они отличаются) и заменить ими оригинальные имена устройств в файле fstab.


В конце блока boot init, скорее всего, встретит команду class_start default, которая сообщит, что далее следует запустить все перечисленные в конфиге службы, имеющие отношение к классу default. Описание служб начинается с директивы service, за которой следует имя службы и команда, которая должна быть выполнена для ее запуска. В отличие от команд, перечисленных в блоках, службы должны работать все время, поэтому на протяжении всей жизни смартфона init будет висеть в фоне и следить за этим.

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

Команды init.rc

Процесс init имеет встроенный набор команд, многие из которых повторяют стандартный набор команд Linux. Наиболее примечательные из них:

  • exec /путь/до/команды - запустить внешнюю команду;
  • ifup интерфейс - поднять сетевой интерфейс;
  • class_start имя_класса - запустить службы, относящиеся к указанному классу;
  • class_stop имя_класса - остановить службы;
  • insmod /путь/до/модуля - загрузить модуль ядра;
  • mount ФС устройство каталог - подключить файловую систему;
  • setprop имя значение - установить системную переменную;
  • start имя_службы - запустить указанную службу;
  • trigger имя - включить триггер (выполнить указанный блок команд);
  • write /путь/до/файла строка - записать строку в файл.

Шаг четвертый. Zygote и app_process

На определенном этапе загрузки init встретит в конце конфига примерно такой блок:

Service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart restart media onrestart restart netd

Это описание службы Zygote, ключевого компонента любой Android-системы, который ответственен за инициализацию, старт системных служб, запуск и остановку пользовательских приложений и многие другие задачи. Zygote запускается с помощью небольшого приложения /system/bin/app_process, что очень хорошо видно на приведенном выше куске конфига. Задача app_proccess - запустить виртуальную машину Dalvik, код которой располагается в разделяемой библиотеке /system/lib/libandroid_runtime.so, а затем поверх нее запустить Zygote.

Когда все это будет сделано и Zygote получит управление, он начинает формирование среды исполнения Java-приложений с помощью загрузки всех Java-классов фреймворка (сейчас их более 2000). Затем он запускает system_server, включающий в себя большинство высокоуровневых (написанных на Java) системных сервисов, в том числе Window Manager, Status Bar, Package Manager и, что самое важное, Activity Manager, который в будущем будет ответственен за получение сигналов о старте и завершении приложений.

После этого Zygote открывает сокет /dev/socket/zygote и уходит в сон, ожидая данные. В это время запущенный ранее Activity Manager посылает широковещательный интент Intent.CATEGORY_HOME, чтобы найти приложение, отвечающее за формирование рабочего стола, и отдает его имя Zygote через сокет. Последний, в свою очередь, форкается и запускает приложение поверх виртуальной машины. Вуаля, у нас на экране появляется рабочий стол, найденный Activity Manager и запущенный Zygote, и статусная строка, запущенная system_server в рамках службы Status Bar. После тапа по иконке рабочий стол пошлет интент с именем этого приложения, его примет Activity Manager и передаст команду на старт приложения демону Zygote

INFO

В терминологии Linux RAM-диск - это своего рода виртуальный жесткий диск, существующий только в оперативной памяти. На раннем этапе загрузки ядро извлекает содержимое диска из образа и подключает его как корневую файловую систему (rootfs).

В процессе загрузки Android отображает три разных загрузочных экрана: первый появляется сразу после нажатия кнопки питания и прошит в ядро Linux, второй отображается на ранних этапах инициализации и записан в файл /initlogo.rle (сегодня почти не используется), последний запускается с помощью приложения bootanimation и содержится в файле /system/media/bootanimation.zip.

Кроме стандартных триггеров, init позволяет определять собственные триггеры, которые могут срабатывать от самых разных событий: подключения устройства к USB, изменения состояния смартфона или изменения состояния системных переменных.

Кроме всего прочего, Activity Manager также занимается убийством фоновых приложений при нехватке памяти. Значения порогов свободной памяти содержатся в файле /sys/module/lowmemorykiller/parameters/minfree.

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

Во многом Android сильно отличается от других ОС, и с наскоку в нем не разобраться. Однако, если понять, как все работает, открываются просто безграничные возможности. В отличие от iOS и Windows Phone, операционка от гугла имеет очень гибкую архитектуру, которая позволяет серьезно менять ее поведение без необходимости писать код. В большинстве случаев достаточно подправить нужные конфиги и скрипты.

Тебя никогда не интересовало, как работают fastboot или ADB? Или почему смартфон под управлением Android практически невозможно превратить в кирпич? Или, может быть, ты давно хотел узнать, где кроется магия фреймворка Xposed и зачем нужны загрузочные скрипты /system/etc/init.d? А как насчет консоли восстановления (recovery)? Это часть Android или вещь в себе и почему для установки сторонней прошивки обычный рекавери не подходит? Ответы на все эти и многие другие вопросы ты найдешь в данной статье.

Как работает Android

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

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

Шаг первый. ABOOT и таблица разделов

Все начинается с первичного загрузчика. После включения питания система исполняет код загрузчика, записанного в постоянную память устройства. Затем он передает управление загрузчику aboot со встроенной поддержкой протокола fastboot, но производитель мобильного чипа или смартфона/планшета имеет право выбрать и любой другой загрузчик на его вкус. Например, компания Rockchip использует собственный, несовместимый с fastboot загрузчик, для перепрограммирования и управления которым приходится использовать проприетарные инструменты.

Протокол fastboot, в свою очередь, представляет собой систему управления загрузчиком с ПК, которая позволяет выполнять такие действия, как разлочка загрузчика, прошивка нового ядра и recovery, установка прошивки и многие другие. Смысл существования fastboot в том, чтобы иметь возможность восстановить смартфон в начальное состояние в ситуации, когда все остальные средства не работают. Fastboot останется на месте, даже если в результате экспериментов ты сотрешь со смартфона все разделы NAND-памяти, содержащие Android и recovery.

Получив управление, aboot проверяет таблицу разделов и передает управление ядру, прошитому в раздел с именем boot, после чего ядро извлекает в память RAM-образ из того же раздела и начинает загрузку либо Android, либо консоли восстановления. NAND-память в Android-устройствах поделена на шесть условно обязательных разделов:

  • boot - содержит ядро и RAM-диск, обычно имеет размер в районе 16 Мб;
  • recovery - консоль восстановления, состоит из ядра, набора консольных приложений и файла настроек, размер 16 Мб;
  • system - содержит Android, в современных девайсах имеет размер не менее 1 Гб;
  • cache - предназначен для хранения кешированных данных, также используется для сохранения прошивки в ходе OTA-обновления и поэтому имеет размер, сходный с размерами раздела system;
  • userdata - содержит настройки, приложения и данные пользователя, ему отводится все оставшееся пространство NAND-памяти;
  • misc - содержит флаг, определяющий, в каком режиме должна грузиться система: Android или recovery.
Кроме них, также могут существовать и другие разделы, однако общая разметка определяется еще на этапе проектирования смартфона и в случае aboot зашивается в код загрузчика. Это значит, что: 1) таблицу разделов нельзя убить, так как ее всегда можно восстановить с помощью команды fastboot oem format; 2) для изменения таблицы разделов придется разлочить и перепрошить загрузчик с новыми параметрами. Из этого правила, однако, бывают исключения. Например, загрузчик того же Rockchip хранит информацию о разделах в первом блоке NAND-памяти, так что для ее изменения перепрошивка загрузчика не нужна.

Часть кода загрузчика, определяющая таблицу разделов


Особенно интересен раздел misc. Существует предположение, что изначально он был создан для хранения различных настроек независимо от основной системы, но в данный момент используется только для одной цели: указать загрузчику, из какого раздела нужно грузить систему - boot или recovery. Эту возможность, в частности, использует приложение ROM Manager для автоматической перезагрузки системы в recovery с автоматической же установкой прошивки. На ее же основе построен механизм двойной загрузки Ubuntu Touch, которая прошивает загрузчик Ubuntu в recovery и позволяет управлять тем, какую систему грузить в следующий раз. Стер раздел misc - загружается Android, заполнил данными - загружается recovery… то есть Ubuntu Touch.

Шаг второй. Раздел boot

Если в разделе misc не стоит флаг загрузки в recovery, aboot передает управление коду, расположенному в разделе boot. Это не что иное, как ядро Linux; оно находится в начале раздела, а сразу за ним следует упакованный с помощью архиваторов cpio и gzip образ RAM-диска, содержащий необходимые для работы Android каталоги, систему инициализации init и другие инструменты. Никакой файловой системы на разделе boot нет, ядро и RAM-диск просто следуют друг за другом. Содержимое RAM-диска такое:

  • data - каталог для монтирования одноименного раздела;
  • dev - файлы устройств;
  • proc - сюда монтируется procfs;
  • res - набор изображений для charger (см. ниже);
  • sbin - набор подсобных утилит и демонов (adbd, например);
  • sys - сюда монтируется sysfs;
  • system - каталог для монтирования системного раздела;
  • charger - приложение для отображения процесса зарядки;
  • build.prop - системные настройки;
  • init - система инициализации;
  • init.rc - настройки системы инициализации;
  • ueventd.rc - настройки демона uventd, входящего в состав init.
Это, если можно так выразиться, скелет системы: набор каталогов для подключения файловых систем из разделов NAND-памяти и система инициализации, которая займется всей остальной работой по загрузке системы. Центральный элемент здесь - приложение init и его конфиг init.rc, о которых во всех подробностях я расскажу позже. А пока хочу обратить внимание на файлы charger и ueventd.rc, а также каталоги sbin, proc и sys.

Файл charger - это небольшое приложение, единственная задача которого - вывести на экран значок батареи. Он не имеет никакого отношения к Android и используется тогда, когда устройство подключается к заряднику в выключенном состоянии. В этом случае загрузки Android не происходит, а система просто загружает ядро, подключает RAM-диск и запускает charger. Последний выводит на экран иконку батареи, изображение которой во всех возможных состояниях хранится в обычных PNG-файлах внутри каталога res.

Файл ueventd.rc представляет собой конфиг, определяющий, какие файлы устройств в каталоге sys должны быть созданы на этапе загрузки системы. В основанных на ядре Linux системах доступ к железу осуществляется через специальные файлы внутри каталога dev, а за их создание в Android отвечает демон ueventd, являющийся частью init. В нормальной ситуации он работает в автоматическом режиме, принимая команды на создание файлов от ядра, но некоторые файлы необходимо создавать самостоятельно. Они перечислены в ueventd.rc.

Каталог sbin в стоковом Android обычно не содержит ничего, кроме adbd, то есть демона ADB, который отвечает за отладку системы с ПК. Он запускается на раннем этапе загрузки ОС и позволяет выявить возможные проблемы на этапе инициализации ОС. В кастомных прошивках в этом каталоге можно найти кучу других файлов, например mke2fs, которая может потребоваться, если разделы необходимо переформатировать в ext3/4. Также модеры часто помещают туда BusyBox, с помощью которого можно вызвать сотни Linux-команд.

Каталог proc для Linux стандартен, на следующих этапах загрузки init подключит к нему procfs, виртуальную файловую систему, которая предоставляет доступ к информации обо всех процессах системы. К каталогу sys система подключит sysfs, открывающую доступ к информации о железе и его настройкам. С помощью sysfs можно, например, отправить устройство в сон или изменить используемый алгоритм энергосбережения.

Файл build.prop предназначен для хранения низкоуровневых настроек Android. Позже система обнулит эти настройки и перезапишет их значениями из недоступного пока файла system/build.prop.


Корневой раздел ТВ-приставки OUYA


Шаг второй, альтернативный. Раздел recovery

В том случае, если флаг загрузки recovery в разделе misc установлен или пользователь включил смартфон с зажатой клавишей уменьшения громкости, aboot передаст управление коду, расположенному в начале раздела recovery. Как и раздел boot, он содержит ядро и RAM-диск, который распаковывается в память и становится корнем файловой системы. Однако содержимое RAM-диска здесь несколько другое.

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

В стандартном (стоковом) recovery таких функций обычно всего три: установка подписанных ключом производителя смартфона прошивок, вайп и перезагрузка. В модифицированных сторонних recovery, таких как ClockworkMod и TWRP, функций гораздо больше. Они умеют форматировать файловые системы, устанавливать прошивки, подписанные любыми ключами (читай: кастомные), монтировать файловые системы на других разделах (в целях отладки ОС) и включают в себя поддержку скриптов, которая позволяет автоматизировать процесс прошивки и многие другие функции.

С помощью скриптов, например, можно сделать так, чтобы после загрузки recovery автоматически нашел на карте памяти нужные прошивки, установил их и перезагрузился в Android. Эта возможность используется инструментами ROM Manager, auto-flasher, а также механизмом автоматического обновления CyanogenMod и других прошивок.

Кастомные рекавери также поддерживают скрипты бэкапа, располагающиеся в каталоге /system/addon.d/. Перед прошивкой recovery проверяет наличие скриптов и выполняет их перед тем, как произвести прошивку. Благодаря таким скриптам gapps не исчезают после установки новой версии прошивки.

Шаг третий. Инициализация

Итак, получив управление, ядро подключает RAM-диск и по окончании инициализации всех своих подсистем и драйверов запускает процесс init, с которого начинается инициализация Android. Как я уже говорил, у init есть конфигурационный файл init.rc, из которого процесс узнает о том, что конкретно он должен сделать, чтобы поднять систему. В современных смартфонах этот конфиг имеет внушительную длину в несколько сот строк и к тому же снабжен прицепом из нескольких дочерних конфигов, которые подключаются к основному с помощью директивы import. Тем не менее его формат достаточно простой и по сути представляет собой набор команд, разделенных на блоки.

Каждый блок определяет стадию загрузки или, выражаясь языком разработчиков Android, действие. Блоки отделены друг от друга директивой on, за которой следует имя действия, например on early-init или on post-fs. Блок команд будет выполнен только в том случае, если сработает одноименный триггер. По мере загрузки init будет по очереди активировать триггеры early-init, init, early-fs, fs, post-fs, early-boot и boot, запуская таким образом соответствующие блоки команд.


Часть конфига init.rc из CyanogenMod


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

Наиболее примечательный из дополнительных конфигов носит имя initrc.имя_устройства.rc, где имя устройства определяется автоматически на основе содержимого системной переменной ro.hardware. Это платформенно-зависимый конфигурационный файл, который содержит блоки команд, специфичные для конкретного устройства. Кроме команд, отвечающих за тюнинг ядра, он также содержит примерно такую команду:

Код:

Mount_all ./fstab.имя_устройства

Она означает, что теперь init должен подключить все файловые системы, перечисленные в файле./fstab.имя_устройства, который имеет следующую структуру:

Код:

Имя_устройства_(раздела) точка_монтирования файловая_система опции_фс прочие опции

Обычно в нем содержатся инструкции по подключению файловых систем из внутренних NAND-разделов к каталогам /system (ОС), /data (настройки приложений) и /cache (кешированные данные). Однако слегка изменив этот файл, мы можем заставить init загрузить систему с карты памяти. Для этого достаточно разбить карту памяти на три 4 раздела: 1 Гб / ext4, 2 Гб / ext4, 1 Гб / ext4 и оставшееся пространство fat32. Далее необходимо определить имена разделов карты памяти в каталоге /dev (для разных устройств они отличаются) и заменить ими оригинальные имена устройств в файле fstab.


Типичное содержимое файла fstab


В конце блока boot init, скорее всего, встретит команду class_start default, которая сообщит, что далее следует запустить все перечисленные в конфиге службы, имеющие отношение к классу default. Описание служб начинается с директивы service, за которой следует имя службы и команда, которая должна быть выполнена для ее запуска. В отличие от команд, перечисленных в блоках, службы должны работать все время, поэтому на протяжении всей жизни смартфона init будет висеть в фоне и следить за этим.

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

Шаг четвертый. Zygote и app_process

На определенном этапе загрузки init встретит в конце конфига примерно такой блок:

Код:

Service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart restart media onrestart restart netd

Это описание службы Zygote, ключевого компонента любой Android-системы, который ответственен за инициализацию, старт системных служб, запуск и остановку пользовательских приложений и многие другие задачи. Zygote запускается с помощью небольшого приложения /system/bin/app_process, что очень хорошо видно на приведенном выше куске конфига. Задача app_proccess - запустить виртуальную машину Dalvik, код которой располагается в разделяемой библиотеке /system/lib/libandroid_runtime.so, а затем поверх нее запустить Zygote.

Когда все это будет сделано и Zygote получит управление, он начинает формирование среды исполнения Java-приложений с помощью загрузки всех Java-классов фреймворка (сейчас их более 2000). Затем он запускает system_server, включающий в себя большинство высокоуровневых (написанных на Java) системных сервисов, в том числе Window Manager, Status Bar, Package Manager и, что самое важное, Activity Manager, который в будущем будет ответственен за получение сигналов о старте и завершении приложений.

После этого Zygote открывает сокет /dev/socket/zygote и уходит в сон, ожидая данные. В это время запущенный ранее Activity Manager посылает широковещательный интент Intent.CATEGORY_HOME, чтобы найти приложение, отвечающее за формирование рабочего стола, и отдает его имя Zygote через сокет. Последний, в свою очередь, форкается и запускает приложение поверх виртуальной машины. Вуаля, у нас на экране появляется рабочий стол, найденный Activity Manager и запущенный Zygote, и статусная строка, запущенная system_server в рамках службы Status Bar. После тапа по иконке рабочий стол пошлет интент с именем этого приложения, его примет Activity Manager и передаст команду на старт приложения демону Zygote

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

  • Процесс запуска Android делится на две ключевые стадии: до Zygote и после. До старта Zygote система инициализирует низкоуровневые компоненты ОС. Это такие операции, как подключение (монтирование) файловых систем, запуск низкоуровневых служб (например rild, отвечающий за работу с GSM-модемом, SurfaceFlinger, управляющий тем, что изображено на экране, vold, управляющий подключенными файловыми системами). После запуска Zygote начинается инициализация исключительно Java-компонентов, которые составляют 80% операционной системы. Этим, в частности, пользуется известный фреймворк Xposed, который при установке подменяет app_process на собственную модифицированную версию, которая способна перехватывать вызовы любых Java-классов, подменяя их на любые другие. Именно поэтому у модулей Xposed такие широкие возможности по модификации внешнего вида и поведения Android. На самом деле они ничего не изменяют в системе, а просто заставляют ее использовать сторонние компоненты вместо своих.
  • Java-приложения никогда не запускаются «с нуля». Когда Zygote получает запрос на старт приложения от Activity Manager, он не запускает новую виртуальную машину, а просто форкается, то есть копирует самого себя и затем запускает поверх полученной копии виртуальной машины нужное приложение. Такой принцип работы позволяет, во-первых, свести расход памяти к минимуму, так как Linux при форке копирует память в режиме copy-on-write (новый процесс ссылается на память старого), а во-вторых, существенно ускорить запуск приложения: форк процесса происходит намного быстрее запуска новой виртуальной машины и загрузки нужных приложению Java-классов.
  • В Android повсеместно используются интенты. Для общения между собой компоненты Android никогда не применяют прямой вызов процедур и классов. Вместо этого используется система сообщений (интентов), которая, кроме высокого уровня безопасности, дает также множество других вкусностей, таких как, например, возможность вызвать приложение, ничего о нем не зная. Выше я уже писал, что для запуска рабочего стола системе достаточно послать интент Intent.CATEGORY_HOME, на который откликнется любое приложение, способное выполнять функцию лончера. Таким же образом работает кнопка «Поделиться», а также множество других компонентов системы.

Существует множество устройств, которые работают на базе Андроид. Многие покупатели, приобретая современные мобильные телефоны и планшеты не понимают, что такое Андроид и для чего он нужен. Читайте дальше, чтобы узнать о преимуществах операционной системы и основных аспектах первоначальной настройки. Научившись работать на одном Андроид-гаджете, вы с легкостью сможете разобраться с любым другим.

Андроид, что это такое – для чайников

Android представляет собой бесплатную операционную систему на основе которой работают смартфоны, планшеты, игровые приставки, наручные часы, телевизоры, мультимедийные проигрыватели, электронные книги и очки Google. Зачастую производители современных устройств изменяют стандартные элементы ОС фирменными приложениями, по другому группируют пункты меню и формулируют их название. Однако суть работы системы в большинстве фирменных оболочек является идентичной.

Разнообразие приложений позволит получить дополнительные возможности для пользователя и заменить базовый функционал. По сей день проводятся регулярные обновления, которые значительно расширяют возможности пользователей, повышают производительность и экономичность. Последняя версия ОС разработана в 2017 году и называется Android 8.0 Oreo. Андроид – современная платформа, которая позволяет преобразить смартфон и планшет в настоящий карманный компьютер. Кроме этого, ОС Андроид проста в управлении.

Часть первая. Первый запуск

При первом запуске смартфона или планшета необходимо произвести настройку опций для полноценного их использования. Когда пользователь включит Андроид на экране появится мастер первичной настройки. Таким образом можно избавиться от ненужного поиска опций в меню устройства.

Мастер первого запуска

Изначально система предложит пользователю выбрать язык интерфейса, а также подключиться к сети Wi-Fi или мобильного оператора. В каждом устройстве может быть представлено разное количество языков. В европейский моделях Андроид-устройств обязательно присутствует украинский, русский и английский языки.

В современных Андроид-устройствах предусмотрено использование интернета. Использовать основной функционал смартфона можно и без него. Если поблизости нет WiFi, можно воспользоваться мобильным интернетом. У каждого оператора сотовой связи свои тарифы, которые различаются стоимостью и параметрами. Однако, доступ к полезным опциям и интересным возможностям будет затруднён.

При первом включении мобильного телефона не рекомендуют вставлять Sim – карту, поскольку в ОС установлено по умолчанию использование мобильных данных. Эти действия позволят избежать нецелесообразного использования трафика. Сделав выбор необходимого языка меню следует нажать кнопку „Далее“, чтобы приступить к следующему этапу настроек.

Затем предстоит привязать используемое устройство к аккаунту Google. Данные действия можно пропустить и выполнить немного позже. Однако, рекомендуют сделать это сразу, потому что так вы сможете без лишних действий загрузить необходимые приложения, пользоваться электронным ящиком, магазином приложений и другими полезными сервисами компании в режиме онлайн. Пользователь может использовать уже существующий аккаунт. Если такового нет, то для регистрации в Google нажмите кнопку „Нет“, потом на „Создать аккаунт“.

Созданный аккаунт навсегда остается с пользователем, а также ранее купленные приложения и некоторые настройки. Даже если захотите поменять старый смартфон на новый. Стоит заметить, что в распоряжении пользователя будет 16 Gb „облачного пространства“, что позволит настроить синхронизацию с облачным хранилищем Google. После входа в аккаунт система задаст несколько вопросов относительно настройки смартфона. Для того чтобы никогда не потерять контакты, следует подтвердить свое согласие относительно резервного копирования данных.

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

Далее нужно указать email. После регистрации изменить его будет невозможно. Затем заполните поле с паролем и логином. Настоятельно рекомендуем их записать или запомнить. Пользователю предложат произвести настройку процедуры восстановления пароля. При этом потребуется ввести номер мобильного телефона.

Пользователь должен подтвердить согласие на доступ к информации об его местоположении. Здесь есть несколько вариантов: отключить или включить опцию, включить поиск местоположения через GPS или координаты сети. Данные о расположении пользователя не распространяются на третьи лица. Они могут быть необходимыми для некоторых приложений.

Система задаст вопрос о согласии с правилами Google. Нажмите кнопку „Принять“. Затем введите капчу. Предоставляется дополнительная возможность привязки к аккаунту карты VISA, Paypal и других. Данная опция удобна при покупке в магазине приложений игр, музыки и программ.

В завершении процедуры настройки понадобится ввести часовой пояс, дату и текущее время. Если планируете в дальнейшем использовать Google Карты, то оставьте отметку в соответствующем пункте.

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

Перенос контактов со старого аппарата

Перенести контакты с одного Андроид-устройства на другой можно несколькими способами. Самый простой способ – синхронизация с Google. Если у вас не первый смартфон с ОС Андроид, то все записи могут быть сохранены в „облаке“ Google. Это возможно если пользователь не отключил синхронизацию контактов на старом устройстве.

Проверить, сохранились ли контакты можно следующим образом:

  1. Со старого устройства зайдите в настройки и нажмите пункт „Аккаунты“.
  2. Когда учетная запись Google привязана к устройству, то под указанным выше пунктом будет находиться надпись „Google“. В противном случае, ее необходимо подключить. Для этого выберите „Добавить аккаунт“, введите логин и пароль.
  3. Нажмите на e-mail, чтобы попасть в настройки синхронизации.
  4. Для сохранения записей с Андроид в системе сервисов Google нажмите „Контакты“. Произойдет процесс синхронизации.
  5. Затем понадобится подключить новый смартфон или планшет с Google, с той же учетной записью к которой был привязан старый аппарат.
  6. Для того, чтобы перенести контакты на новое устройстве проведите процедуру, описанную выше до пункта Gmail.

Другой способ – использование vcf-файл. Пользователю понадобится произвести экспорт данных в файл. Для этого необходимо:

  • Зайдите в телефонную книгу старого устройства.
  • Нажмите на кнопку в виде трех точек, расположенную в правом верхнем углу экрана.
  • Выберите пункт „Импорт/экспорт“. Затем нажмите „Экспорт“. В многих Андроид-устройствах данная опция может быть представлена раздельными пунктами. В этом случае пользователю нужно нажать на „Экспорт“.
  • Затем выберите путь копирования для перемещения контактов: память устройства или SD-карту.
  • Поставьте отметку напротив тех контактов, которые нужно перебросить. Если нужны все записи нажмите „Выделить все“.
  • Далее нажмите „ОК“.

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

Можно сначала перенести контакты на карту памяти, затем вставить ее в планшет или смартфон. Многие пользователи предпочитают переносить контакты с Sim-карты. Единственный минус такого метода – ограниченное количество контактов для хранения. Он подходит для тех пользователей, у которых в списке номеров не более 220 штук. Для этого необходимо, чтобы все контакты были на ней сохранены.

Зайдите в приложение телефонной книги. Выберите опцию „Экспорт/Импорт“, далее „Экспорт“. Путь копирования определяем как “Sim-карта”. Вставляем карту с номерами в новый аппарат и переносим. Заходим в телефонную книгу. Нажимаем на кнопку в верхнем правом углу. Выбираем опцию „Импорт с Sim-карты“.

Еще один способ – перенести контакты с компьютера через USB-кабель. Для этого подключаем старый аппарат к ПК и кабелю. Переносим vcf-файл с номерами телефона на компьютер. Затем таким же образом подключаем новый смартфон или планшет и переносим на него данные с ПК.

Настройка почты

Переходим к настройкам почты. Если пользователь не планирует пользоваться электронной почтой через смартфон, этот этап можно пропустить. Когда используется электронный ящик Gmail, то он автоматически настраиваться после ввода логина и пароля Google аккаунта. В том случае, когда электронная почта находится на другом ресурсе, ее придется настраивать вручную. Для этого выполните следующие действия:

  1. Запустите на устройстве встроенное приложение „Электронная почта“.
  2. Зайдите в „Настройки“.
  3. Нажмите „Добавить учетную запись“.
  4. Заполните форму: имя пользователя и пароль.
  5. Нажмите „Далее“.
  6. Система предложит выбрать протокол, по которому будет производиться связь с почтой. Как правило, почтовые сервера работают по двум протоколам: POP3 и IMAP. Выберите, тот который для вас более удобный, затем нажмите „Вход“.

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

Экранная клавиатура

В работе со смартфоном часто приходится использовать клавиатуру. Для того, чтобы на Андроид вызвать клавиатуру достаточно нажать на окно для написания текста. Чтобы ее убрать, нажмите на кнопку „Назад“. Процедура ввода текста схожа с набором на ПК. Для изменения языка ввода нажмите кнопку в виде глобуса. В настройках клавиатуры можно задать в переключатель три часто используемых языка. Новое предложение в автоматическом режиме начинается с заглавной буквы.

Чтобы слово начиналось с заглавной буквы нажмите на стрелочку “Вверх”. Для введения нескольких заглавных букв подряд удержите кнопку в течении двух секунд. Для удаления текста или слова воспользуйтесь кнопкой в виде квадратика с крестиком посередине. Помимо основной клавиатуры есть несколько дополнительных со значками и смайлами. Для переключения между ними нажмите кнопку, расположенную в нижнем углу. В процессе набора текста, на экране будут выводиться подсказки слов. Если выбрать одно из них, то буквы преобразятся в готовые слова.

Чтобы сэкономить время на печати, можно скопировать слово и вставить в текст. Чтобы выделить нужное слово, тапните по нему и удержите несколько секунд. Для увеличения границ копирования потяните за маркеры по его краям. Вверху клавиатуры появится панель с функциями „Копировать“, „Вырезать“ и „Вставить“.

Подключение к Wi-Fi

Для подключения к новой сети через Wi-Fi необходимо зайти в настройки устройства, затем в раздел „Wi-Fi“. Появится список доступных в данный момент сетей. Замочек, расположенный возле значка Wi-Fi означает, что вход в эту сеть защищен паролем. Если ввести пароль один раз, то повторное подключение к такой сети Андроид-устройством происходит в автоматическом режиме, вводить пароль снова уже не потребуется.

В некоторых случаях нужная сеть может не отображаться в списке доступных. Администратор любой сети может ее сделать закрытой (невидимой) для других пользователей. Чтобы к ней подключиться, нажмите кнопку „Меню“ в верхнем углу экрана телефона, затем „Добавить сеть“. С помощью кнопки „Меню“ также можно перейти к дополнительным настройкам сети: работа сети в режиме сна и включение уведомлений о доступных и открытых сетях.

Часть вторая. Интерфейс смартфона

Интерфейс Андроид-устройства зависит от версии операционной системы и от фирменной оболочки, которую установил производитель. Однако, логика работы ОС остается неизменной.

Жесты

Управление устройством на базе ОС Андроид производится на основе жестов. К основным из них относятся:

  1. Тап – однократное касание пальцем руки по экрану.
  2. Двойной тап – аналог двойного клика мышкой. Двойное касание по сенсорному экрану смартфона.
  3. Долгий тап – касание по экрану продолжительностью в несколько секунд.
  4. Свайп – скользящее касание по экрану. Предполагает проведение пальцем по экрану смартфона слева направо, сверху вниз, либо снизу вверх.
  5. Щипок – подразумевает касание по экрану большого и указательного пальца, затем их сведение вместе.

Рабочий стол и иконки док-бара

Рабочих столов на Андроид-устройстве может быть несколько. Перелистывание их осуществляется с помощью свайпа слева направо и наоборот. Иконки док-бара расположены внизу экрана. Как правило здесь находится значок телефонной книги, браузера и программа для создания смс сообщений. Центральную кнопку используют для вызова меню со всеми установленными программами.

Строка состояния

Она расположена в верхней части экрана Андроид-устройства. Здесь отображается информация о текущем времени, заряде аккумулятора и активных уведомлениях. Некоторые пользователи называют ее „шторкой“. Чтобы ее открыть, необходимо произвести свайп сверху вниз. В строке состояния находится доступ к основным переключателям: мобильные данные, геоданные, экономия энергии, звук, книжный экран, авиарежим, фонарик, Bluetooth и Wi-Fi.

Обои, виджеты, иконки

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

Установка мелодии вызова

Для установки мелодии звонка перейдите в „Настройки“ устройства, затем в раздел „Звук“ и „Мелодия звонка“. С перечня стандартных мелодий выберите понравившуюся. Пользователю предоставляется возможность установки на вызов мелодий, загруженных с интернета. Для этого скачайте на устройство любимую композицию и установите ее на звонок. В том же разделе, где находятся стандартные мелодии нажмите на значок “Плюс” в верхнем правом углу. Таким образом добавьте загруженную мелодию в список доступных.

Часть третья. Установка приложений

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

Google Play

Для доступа к официальному магазину приложений необходим аккаунт в Google. Значок Play Market расположен на рабочем столе. Тапните по нему, чтобы запустить приложение. В верхней части экрана находится строка поиска. Если пользователю необходимо загрузить конкретное приложение, введите его название для поиска. В Google Play есть разделы: игры, приложения, музыка, книги и журналы. Внизу экрана представлен список новинок кино и самых популярных приложений.

Защита от случайных покупок

В современных играх и приложениях могут быть предусмотрены внутренние покупки, которые могут стать неприятным сюрпризом для владельца смартфона. Зачастую родители дают смартфон детям для игры. Чтобы защититься от случайной покупки необходимо установить на нее пароль. Для этого запустите Play Market и перейдите в „Настройки“. Войдите в раздел „Запрашивать пароль при покупке“ и поставьте отметку напротив пункта „Для всех покупок в Google Play на этом устройстве“.

Скидки и распродажи

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

Подобных приложений много. Самое популярное среди пользователей – AppSales. Можно использовать систему фильтров, чтобы очистить список предложений от ненужных программ. Пользователь может выбрать интересующую категорию приложений, либо конкретную программу.

Выбор программ по умолчанию

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

Если вы случайно выбрали не ту программу, какую хотели, вернуть её в диалоговое окно можно так:

  1. Зайдите в пункт меню „Настройки“.
  2. Затем в „Приложения“.
  3. Найдите необходимую программу.
  4. Нажмите „Удалить программу по умолчанию“.

Удаление программ

Для удаления программ с Андроид-устройства существует несколько способов. Первый метод:

  • В настройках устройства найдите раздел „Приложения“.
  • Переключитесь на вкладку „Сторонние“, либо „Все“.
  • В списке найдите ненужную программу.
  • Затем выберите опцию „Удалить“.

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

Третий способ – удаление через Play Market. Запустите приложение. В меню выберите раздел „Мои приложения“. Тапните по нужному приложению и выберите функцию „Удалить“.

Установка приложений из сторонних источников

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

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

Сторонние магазины приложений

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

  1. Используйте надежные источники.
  2. Перед покупкой программы убедитесь, что ее действие распространяется на страну вашего пребывания.
  3. При покупке приложений права пользователя могут быть не защищены.


Просмотров