Термины, жаргон, определения Android / Habr
Очень часто, разбираясь с незнакомым программным продуктом или операционной системой, мы чуствуем трудности в понимании значений терминов. Иногда мы их встречаем впервые и это заставляет нас искать в интернете описания и статьи. Хуже, если написание термина совпадает с тем, что мы знали раньше, а значение другое. Особенно это усугубляется при чтении статей на иностранном языке. Потому представляю вашему вниманию перевод терминов взятый из Android Terms,Slang,Definitions & Guides.
Оригинальный текст состоит из семи частей, который кроме терминов включает в себя описания и инструкции как выполнить некоторые распространенные действия со смартфоном. Это первая часть, где собраны наиболее встречающиеся термины. Этот набор терминов очень удобно использовать перед первым занятием по программированию под Android, в качестве раздаточного материала, чтобы слушатели, ознакомившись, могли понимать о чем ведется речь, если вдруг проскочит жаргонное слово в вопросе или ответе. В основном термины предназначены для начинающих и связаны с настройкой операционной системы. Как сами определения, так и перевод не претендует на исключительную уникальность, правильность, точность и строгость. Любые предложения и исправления принимаются с радостью и благодарностью.
Примечание автора
Я предполагаю, что создание этой ветки поможет как новичкам так и опытным форумчанам в понимании жаргона Android, кроме того есть несколько терминов, значений которых я не знаю, создавая этот пост. Я собрал большинство терминов, определений и жаргонных слов которые я смог накопать. Если я что-либо пропустил, дайте мне знать и добавлю их к ветке или изменю в соответствии тем как новые термины, определения и жаргонные слова будут представляться.
Термины, жаргон и определения Android
Apps2SD: Метод сохранения приложений и кэш-данных на microSD карте устройства.
ADB: интерфейс для отладки андроид(дословно: отладочный мост андроида) это многофункциональная утилита командной строки, которая позволяет общаться с экземпляром эмулятора или подключенным устройством с ОС Android. Это клиент-серверная утилита, которая включает три компонента:
- Клиент, который запущен на компьютере разработчика. Вы можете запустить клиента из консоли используя команду adb. Другие утилиты Android, такие как ADT-plugin, и DDMS тоже создают adb клиентов
- Сервер, который запущен как процесс фонового исполнения на компьютере разработчика. Сервер обслуживает коммуникации между клиентом и adb-демоном, запущенном на эмуляторе или устройстве.
- Демон, который запущен как процесс фонового исполнения на каждом экземпляре эмулятора или устройства.
Android: Основанная на Linux операционная система для мобильных устройств, таких например, как HTC EVO. Версии по алфавиту(английскому) кодированы по названиям кондитерских изделий: Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean.
AMOLED: Активная матрица на органических светодиодах. Обычно это очень яркий дисплей с хорошей цветопередачей, который есть в некоторых смартфонах.
APK: Файл пакета приложения для Android.Каждое приложение Android компилируется и пакуется в один файл который включает в себя весь байткод приложения(.dex файлы), ресурсы, вложения, и файл манифеста. Пакет приложения может иметь любое имя но должен использовать расширение .apk. Например: myExampleAppname.apk. Для удобства, файл пакета приложения часто обозначают как «.apk».
Alpha: Альфа стадия жизненного цикла релиза это первая фаза начала тестирования(альфа — первая буква греческого алфавита, использующаяся как номер 1). Во время этой фазы разработчики обычно тестируют программное обеспечение используя технику «Белого ящика». Дополнительное подтверждение получается позже, другими командами тестировщиков с использованием техники «Черного ящика» и «Серого ящика». Продвижение к тестированию методом «Черного ящика» внутри организации называется альфа-релизом.
Альфа-версии п.о. могут быть нестабильными и повлечь сбои или потерю данных. Исключение, когда альфа доступна публично(как предзаказаный бонус), в которой разработчики нормально довели до стабильности так чтобы их тестеры могли протестировать качественно. Внешняя доступность альфа-приложений не распространена в проприетарном п.о. Однако, п.о. с открытым кодом, в частности, зачастую имеет публично доступные альфа-версии, часто распространяемые в качестве исходного кода п.о.
Boot Animation: Термин(загрузочная анимация), обозначающий графическое отображение процесса загрузки операционной системы. Загрузочная анимация может быть простой визуализацией бегущих загрузочных сообщений в консоли, но также она может представлять из себя графику либо комбинацию текста и графики. В отличие от «экрана приветствия», экран загрузки или загрузочная анимация не обязательно разрабатывается в маркетинговых целях, но может улучшить впечатления от внешнего вида для пользователя или предоставить пользователю сообщения (с добавлением цветового кодирования ) для диагностики состояния системы
Bootloader: Назначение этой программы всего лишь загрузить другие данные или программы, которые после буду исполнены из оперативной памяти. Часто используются многоуровневые загрузчики, во время исполнения которых несколько программ запускаются по-очереди одна за другой увеличивая сложность.
Bootloop: Описывает состояние, когда ваша система перезагружается раз за разом без входа в основную операционную систему.
Beta: Это стадия разработки п.о. следующая за альфа. Она обычно начинается тогда, когда п.о. функционально завершено. Обычно п.о. на стадии бета имеет намного больше ошибок чем завершенное п.о., также как и проигрывает в скорости/производительности. Бета тестирование концентрируется на уменьшении взаимодействия с пользователем, часто включающем тестирование юзабилити.Процесс доставки бета-версии пользователям назва бета-релиз и обычно это первый момент, когда п.о. становиться доступным вне организации которая его разрабатывала. Пользователей бета-версии называют бета-тестерами. Они обычно клиенты или потенциальные клиенты организации, которая разработала п.о., захотевшие протестировать п.о. бесплатно, часто получающие завершенную версию бесплатно или по уменьшенной цене. Бета версии п.о. часто полезны для демонстрации внутри организации и потенциальных клиентов. Некоторые разработчики обращаются на этой стадии к предпросмотру, прототипированию, техническому предпоказу или для раннего доступа. Некоторое п.о. находится постоянно в стадии бета — когда новые функции непрерывно добавляются в п.о. без установки фирмой завершающего релиза.
CPU: Расшифровывается как (Central Processing Unit — модуль центрального процессора) и обрабатывает все сложные математические формулы, необходимые для таких каждодневных вещей как просмотр интернета.
Custom: Независимые разработчики, которым нравиться настраивать устройства глубже чем стандартные настройки, публикуют плоды своих изысканий чтобы поделиться с другими в форме сustom ROMs.
Cache: Компонент, который прозрачно сохраняет данные таким образом, чтобы они обрабатывались быстрее при будущих обращения. Данные которые сохраняются в кэше должны быть значениями, которые вычислялись ранее или дубликатами значений, сохраненных где-либо еще. Если требуемые данные содержатся в кэше(попадание в кэш), этот запрос может быть обслужен простым чтением кэша, что сравнительно быстрее. В ином случае (мимо кэша), данные необходимо вычислить еще раз или запросить с оригинального источника, что сравнительно медленнее. Потому, чем больше запросов будет обрабатываться из кэша, тем быстрее будет общая производительность системы.
CDMA: стандарт мобильной связи, называемый cdmaOne, CDMA2000 (3G эволюционирование cdmaOne) и WCDMA (3G стандарт использующий GSM связь), на который часто ссылаются как просто на CDMA, и использующий CDMA как нижестоящий канал доступа к данным.
CIQ: Расшифровывается как Carrier IQ. Часть предустановленного программного обеспечения, которое запущено с повышенными правами в фоновом режиме портативного устройства по умолчанию и записывающего все. Потенциально может использоваться для кражи информации.
Dual Core: Двухъядерный процессор это ЦП который имеет два раздельных ядра в одном корпусе и с собственным кэшем. это практически два микропроцессора в одном. Этот тип процессоров широко распространен среди многих производителей. Другой тип много ядерных процессоров также разработан. включая четырехъядерные, шестиядерные, восьмиядерные и многоядерные процессоры с еще большим числом ядер.
Dalvik: Виртуальная машина платформы Android.Dalvik VM это только интерпретирующая виртуальная машина которая исполняет файлы формата Dalvik Executable (.dex), формата оптимизированного для эффективного хранения и распределения памяти.
Dalvik Cache: Записываемый кэш который содержит оптимизированный байткод для всех apk-файлов (приложений) на вашем устройстве Android. Хранение информации в собственном кэше делает загрузку приложений быстрее и исполнение лучше.(улучшает производительность? — примечание переводчика
EXT:(Расширенная файловая система) Расширенная файловая система(Extended file system), или ext была реализована в 1992, как первая файловая система созданная специально для ядра Linux. Ее структура метаданных была создана Rémy Card, вдохновленным традиционной файловой системой Unix File System. Это была первая реализация, использующая виртуальную файловую систему и она могла обрабатывать файловые системы размером до 2х гигабайт. Ext2, ext3 и ext4 файловые системы произошли от этой. Большая часть дискуссий сконцентрирована вокруг ext3 и ext4 в мире Android.
- ext3 это журналируемая файловая система которая обычно используется ядром Linux. Ее основное преимущество по сравнению с ext2 это журналируемость которая улучшает надежность и устраняет необходимость проверки файловой системы после «неправильного» выключения. Вцелом, ext3 медленнее чем ext4, JFS, ReiserFS и XFS, но имеет значительные преимущество, которое позволяет сделать апгрэйт с ext2 без резервного копирования и восстановления данных. Измерения показывают что ext3 также меньше использует ресурсы CPU чем ReiserFS и XFS. Это также значительно более безопасно чем другие файловые системы Linux всвязи с ее относительной простотой и протестированностью. ext3 не делает контрольного суммирования когда записывает в журнал и если аппаратное обеспечение делает отложенное кэширование, у вас есть риск получить некоторое повреждение файловой системы, приводящее к сбою;
- ext4 была создана как серия обратносовместимых расширений к ext3. В январе 2010, Google анонсировала что ее инфраструктура хранилища будет обновлена с ext2 на ext4. В декабре 2010, они также анонсировали, что будут использовать ext4, вместо YAFFS на Android. Достоинства ext4 включая поддержку файлов больших размеров, экстентов, текущих предвыделений памяти и контрольных сумм журналирования;
FC/FC’s: Сокращение для «force close,» означающего, что приложение дало сбой.
Использование протокола Fastboot требует, чтобы устройство было запущено в таком режиме boot loader или Second Program Loader режиме, в котором только основная часть инициализации аппаратного обеспечения будет проведена. После активации протокола на устройстве, оно будет принимать любую команду пришедшую к нему через USB из консоли. Некоторые из наиболее используемых команд включают в себя:
- flash — Перезаписывает раздел в flash памяти бинарным образом, который находится на компьютере-хосте.
- erase — стирает раздел в flash.
- reboot — Перезагружает устройство в основную операционную систему или в раздел восстановления системы.
- devices — Отображает список всех устройств (с серийным номером), присоединенных к компьютеру.
Flashing: энергонезависимая память, использующаяся в смартфонах, планшетах и т.д. Часто тоже что и флэш память в SD и USB flash дисках, просто оптимизированная для лучшей скорости и производительности во время работы операционной системы.
Hotspot: Точка доступа, которая предоставляет доступ в Internet через беспроводную сеть с использованием роутера присоединенного к сети провайдера Internet. Hotspot обычно использует Wi-Fi технологию. Вы можете подсоединить wi-fi совместимые устройства.
HDMI: Это компактный аудио\видео для передачи зашифрованных несжатых цифровых данных. это цифровая альтернатива потребительскому аналоговому стандартам, таким как (RF)коаксиальный кабель, видеокабель, S-Video, SCART, component video, D-Terminal, или VGA (also called D-sub or DE-15F). HDMI соединяет цифровые аудио/видео источники (такие как as net-top, DVD players, HD DVD players, Blu-ray Disc players, AVCHD кодировщики, ПК, игровые консоли (такие как PlayStation 3 и Xbox 360), AV ресиверы, планшеты и мобильные телефоны) к совместимым цифровым аудио устройствам, мониторам, проекторам и цифровым телевизорам.
Hboot: В основном отвечает за проверку и инициализацию аппаратного обеспечения и старт телефонного п.о. Он также может использоваться для записи официальных релизов п.о., также как и еще некоторых вещей. HBoot может быть сравним с BIOS в компьютере.
HAVS: система контроля которая динамически корректирует вольтаж основываясь на загрузке CPU. Это доказанно уменьшает расход батареи, но и имеет обратный эфект, когда несколько управляющих систем взаимодействуют (например setCPU).
JIT:The Just-in-Time Compiler. Появился с версии Android 2.2, это метод значительного ускорения приложений в Android на стороне програмного обеспечения.
Kang: Некоторые пишут код, некоторые модифицируют код, чтобы сделать свой релиз, его рассматривают как kang релиз.
Kernel: Ядро это слой программного обеспечения, который позволяет операционной системе и приложениям взаимодействовать с аппаратным обеспечением вашго телефона. Степень с которой вы можете взаимодействовать с фунциональность аппаратного обеспечения зависит от качества кода ядра. Сообщество homebrew(рутования) для HTC сделало несколько улучшений кода ядра, которые дают дополнительные возможности по сравнению со стоковым ядром. Когда вы записываете альтернативную прошивку, вы автоматически получаете и ядро. Но также вы можете записать отдельно прошивку для ядра поверх существующего, эффективно переписав его.На сегодняшнийдень, разница в функциональности между альтернативными ядрами меньше выражена, и больше связана с альтернативными настройками. выбирают ядро как правило такое, которое лучше работает с вашей прошивкой.
Launcher: Обобщая, это часть интерфейса пользователя Android на домашнем экране, которая позволяет запускать приложения, делать телефонные звонки и т.д. Она встроена в Android, или может быть получена на Android Market.
LCD Density: Плотность пикселов(Разрешение) это измерение разрешения экрана в разныхконтекстах, обычно дисплеев компьютера, сканеров, цифровых камер.
Прежде всего необходимо понимать, что интерфейс пользователя Android использует что-то называемое «пиксел, не зависимый от дисплея» или «dip» (да, это название смущает, потому что настройки плотности в «dots per inch»(точек на дюйм) or «dpi», которые считают тем же что и «ppi» or «pixels per inch»(пикселов а дюйм)).
Обычно настройки LCD Density на Android это 160 dpi. Таким образом, ОС считает что 1 dip эквивалентен размеру одного физического пиксела при разрешении 160 dpi(1 dip @ 160 dpi = 1 screen pixel), это не обязательно так, но с чего-то нужно начинать. По моему мнению, было бы намного лучше, если бы выбрали 100dpi, потому что было бы намного проще с процентами, но они не выбрали, потому мы ломаем голову с этой формулой. (по сути, формула для размера одного пиксела такая: px = dpi/160, например для 240 dpi получаем px=1,5, т.е. размер одного dip = 1,5 физических пикселов — примечание переводчика)
Mod: Модификация части аппартного или программного обеспечения или чего-нибудь еще в этом смысле, чтобы предоставить дополнительные функции не запланированные разработчиком.
NILFS:(New Implementation of a Log-structured File System — Новая реализация лог-структурированных файловых систем) это лог-структурированная файловая система для Linux. Она была разработана Nippon Telegraph и Telephone Corporation (NTT) CyberSpace Laboratories. Она использует технику копирование-при записи «ничто в жизни не бесплатно», NILFS записывает все данные в продолжающемся, похожем на логи формате, который только добавляется, никогда не перезаписываясь, такое устройство предназначено для сокращения количества перемещений, и минимизации таких видов потери данных, которые происходят после сбоя обычной файловой системы. Например, потеря данных на файловой системе ext3, когда система дает сбой на операции записи.Когда система презагружается, журнал фиксирует, что запись не окончена, и любые частично записанные данные теряются. NILFS также включает быструю запись и восстановление, минимальные повреждения в данные файлов и целостность системы при сбоях оборудования, 32-битные контрольные суммы и т.д.
Обычно, ядра Android не имеют поддержку NILFS, но есть моды, которые делают ее доступной.
Nandroid:Nandroid используется для резервного копирования и восстановления. Вы можете выбрать обычное резервирование(только телефон), или резервирование + sd-ext(телефон + Apps2sd). Оба сделают резервную копию вашей системы, второй вариант еще и сделает копию ваших приложений на SD карте.
Nightly: Сборка, которая производится в конце каждого дня разработки. Если вы используете постоянно-инегрируемый сервер, он можт быть настроен так, чтобы собирать код и запускать юнит-тестирование на каждой контрольной точке. В конце каждого дня вы можете запускать более интенсивные тесты, регрессионные тесты и интеграционные тесты, например, которые слишком долго исполняются для запуска на каждой контрольной точке, и будут запущены после ночной сборки. Если у вас есть последовательная система разработки, то ночные сборки могут также быть использованы для передачи кода в тестирование пользователям.
OpenGL ES: Андроид предостляет библиотеки OpenGL ES которые могут использоваться для быстрых и сложных 3D изображений. Их тяжелее использовать чем объект Canvas, но лучше для 3D объектов. Пакеты android.opengl и javax.microedition.khronos.opengles предоставляют функциональность OpenGL ES.
Open & Closed Beta: Разработчики выпускают или открытую или закрытую бету; закрытые бета-версии выпускаются избранной группе людей для пользовательского тестирования только по приглашению, тогда как открытые беты выпускаются доступными для широкой публики и всем заинтересованным. Тестеры сообщают о любой ошибке, которю они находят, и иногда предлагают дополнительные функции, которые они хотели бы видеть доступными в финальной версии.
Overclock: Увеличение быстродействия вашего CPU.
Partition: Внутренняя память телефона (не SD карта) это постоянная(флеш) память, NAND. Она может быть разделена на разделы как обычный жесткий диск. Загрузчик находится на своем разделе, Востановление — отдельно, radio, system, cache, и т.д. — все это разделы.
Стандартные разделы на телефоне Android:
- /misc — не совсем понимаю для чего это.
- /boot — bootloader, ядро
- /recovery — содержит программу восстановления (или clockworkmod или RA recovery для рутованного Evo)
- /system — здесь находится операционная система: Android, Sense, boot animation, Sprint crapware, busybox и т.д.
- /cache — кешированные данные для операционной системы
- /data — пользовательские приложения, данные, настройки и т.д.
- /radio — радиопрошивка телефона, управляет мобильной связью, GPS, даными, bluetooth.
- /wimax — прошивка для Sprint’s flavor of 4G, WiMax.
PRL:Preferred Roaming List(Предпочитаемый список роаминга), обычно, способ сообщить вашему телефону к каким вышкам подсоединяться в первую очередь.
RUU: целостный пакет п.о. выпускаемый HTC, он ожет сожержать много вещей, которые они пытаются обновить. Radio, ROM, bootloader, и т.д… Инсталляция ruu это как запись образа на жесткий диск — он стирает данные и инсталлирует образ.Это уничтожит все ваши данные, если инсталляция будет произведена.
Recovery: Раздел восстановления это загрузочный режимдля телефона, который позволяет удалить настройки с раздела данных на телефоне (жесткое удаление), или сделать обновление используя update.zip файл в корне microSD карты. Это обычное дело(также и не обязательное) перезаписывать и патчить образ Recovery, такой как TWRP или ClockworkMod Recovery. Это позволяет запускать Nandroid резервирование с устройства, и модификацию флеша, такуб как фалйы с устройства, обычно обзначающую установку програмного обеспечения на устройства. Режим восстановления отделен от «нормального» режима, и может быть включен зажатием переключателя home включая телефон.
Rom/Firmware:Read-Only Memory и на языке техники, она относится к внутреннему хранилищу устройства, которое предназначено для хранения инструкций операуционной системы, которые не должны быть модифицированы во время нормальной работы устройства.
Radios: С точки зрения HTC, radios состоит из:
- WiFi, которая работает на 2.4-5ghz частоте взависимости от канала
- Cellular/3G, который передает голос и данные
- 4G/WiMAX, который передает только данные
- GPS, который только принимает
- Bluetooth, который общается с WiiMotes и беспроводными гарнитурами
Flashing a radio(именно так в оригинале — примечание переводчика) значит изменение кода который контролирует способ получения и отправки сигнала телефоном.
Ram:(Random Access Memory — память со случайным доступом, непосредственный перевод) Группа микросхем памяти, обычно типа dynamic RAM (DRAM), которые функционируют как основное рабочее поле компьютера. Когда ПК впервые вышел на рынок во второй половине 1970х, 64KB (64 kilobytes) памяти были максимальным порогом. Сегодня, 64MB (64 megabytes) SDRAM это начальный уровень для настольного компьютера, в тысячу раз больше.
«случайный» в RAM обозначает что содержимое каждого байта в хранилище может непосредственно быть получено без считывания байта перед ним или после него. Это также справедливо для других типов памяти включая ROM и PROM. Однако, в отличие от ROM и PROM, RAM требует питание чтобы обслуживать их содержимое, вот почему вы должны сохранять данные на диск перед выключением компьютера. Чтобы изучить чипы RAM и как обновить вашу память, ищите memory module. Ятобы изучить какая память используется для обработки данных, ищите computer or memory. Также посмотрите dynamic RAM and static RAM.
Root: Корневой каталог(Папка первого уровня)
Rooting: Процес предоставления пользователям мобильных телефонов, планшетов, и других устройств запущенных в ОС Android привиллегий управления (известных как «рутовые доступ») к подсистемам Android’s. Рутование часто предоставляется с целью обойтиограничения которые выставлены разработчиками аппаратного обеспечения на некоторых устройствах, выражающееся ы возможности изменять системные приложения и установки, запускать специализированные приложения которые требуют прав администратора, или производить опреации, которые по-другому не доступны обычному пользователю Android. Рутование это аналог jailbreaking для устройств с операционной системой Apple iOS или Sony PlayStation 3. В Android, рутование также может повлечь полное удаление операционной системы.
SBC:(возможность использовать батарею свыше обычного безопасного лимита). Концепция похожа на разгон процессора: вы превышаете безопасный уровень для достижения дополнительной производительности. Целью здесь будет получение большего от батареи за одну зарядку. Обратная сторона в том, что вы можете повредить батарею или существенно сократить ее срок работы. Некоторые ядра декларируют, что они используют безопасные техники, предотвращающие повреждение батареи. Просто имейте ввиду потенциальный риск.
Sideloading: Это означает установку приложений минуя официальный Android Market.
Splash Screen: Splash screen(экран приветствия) это изображение, которое появляется пока загружается android. Splash screens покрывает весь экран или просто прямоугольник в центре экрана. Splash screen операционной системы и некоторых приложений, которые рассчитывают запуститься в полноэкранном режиме, обычно покрывают весь экран.
Superuser/SU: На многих операционных системах суперпользователь это специальная учетаня запись пользователя, используемый системным администратором. В зависимости от операционной системы имя этого аккаунта может быть: root, administrator или supervisor.
Обычная работа на такой операционной системе проводится используя учетнуй запись нормального пользователя, и потому он не имеет возможности делать изменение применимые ко всей операционной системе, вирусы или другое вредоносное п.о. — или простые ошибки пользователя -не дадут возможности перенести эффект на всю систему. В организациях, административные привиллегии часто зарезервированы для отдельно опредленных персон.
Script: Слой скриптов для Android (The Scripting Layer for Android) (аббревиатура SL4A, и ранее называлась Android Scripting Environment or ASE) это библиотека, которая позволяет создавать и запускать скрипты созданные на большом количестве различных языков непосредственно на устройствах Android. SL4A создана для разработчиков и это до сих пор п.о. качества альфа. Эти скрипты имеют доступ к многим API доступным нормальным Java приложениям Android, но с упрощенным интерфейсом.Скрипты могут инетрактивно запускаться в тиерминале, в фоновом режиме, или через Locale.
SDK:(SDK or «devkit») это обычно набор разработчика программного обеспечения, который позволяет создавать приложения для определенно пакета, фрэймворка, игровой консоли, операционной системы или платформы.
Stock: Это операционная система в форме «по-умолчанию», без каких-либо модификаций, сделанных в нее, исключая какие-либо специфические для устройства элементы поддержки, необходимые для данного устройства.
SOD Sleep of death — состояние, когда устройство «засыпает» и не просыпается.
S-On: Режим включенной безопастности (Security-on), обозначает отсутствие доступа к операционной системе телефона.
S-Off: Безопастность была нарушена, теперь имеем доступ к операционной системе.
(примечание переводчика: это некоторое упрощение и обобщение. Телефоны HTC имеют установленный вид проверки безопасности, уровень которой определяется S-OFF/S-ON. По сути, это флаг, который сохранен в устройстве, который проверяет подпись образа для любой прошивки прежде чем она может быть записана в системную область памяти. Это останавливает использование любых кастомных прошивок, образов, восстановлений и.т.д. и также ограничивает доступ к NAND флеш памяти. Однако когда уровень безопасности выставлен в S-OFF проверка подписи пропускается, позволяя пользователю загрузить кастомизированную прошивку, образ и т.д., как и модифицировать официальную прошивку, это дает возможность по максимуму кастомизировать устройства HTC Android)
Tethering: Обозначает распространение Internet соединения, имеющим доступ в Интернет мобильного телефона с другими устройствами. Это распространение может быть предоставлено через беспроводную сеть (Wi-Fi), Bluetooth, или физическое соединение используя кабель. В случая тетеринга через беспроводню сеть, есть возможность пометить утсройство как мобильный hotspot. Телефон, имеющий соединение в интернет работает как портативный роутер предоставляющий услуг тетеринга для других.
Userspace(Governor): Планировщик(управляющий?), исключительнаяредкость для мира мобильных устройств, позволяет любой программе запущеной пользователем выставить операционную частоту CPU. Этот планировщик, более рапространен на серверных или десктопных приложениях в качестве приложения (вроде приложения для управления профилем питания) требует привилегий для выставления тактовой чатоты CPU.
Underclock: Уменьшение быстродействия CPU.
Undervolt:Undervolting означает некоторое уменьшенеи напряжния питания CPU, кторое позволяет продлить работу батареи и снизить температуру во время интенсивного использования CPU.
USB: Предназначено для обозначения Universal Serial Bus. Это метод соединения устройств к копьютеру. Большинсво смартфонов сейчас используют микро-usb для зарядки и синхронизации.
Updater Script: Когда устройство Android устанавливает обновления через ‘update.zip’ файлы, используемые в режиме обновления должны осуществить широкий набор действий с файлами и правами. Вместо использования минималистичной команжной строки такой как {b,d,c}sh, разработчики Android решили создать маленький функциональный язык который может быть расширен производителями устройств при необходимости. С релиза Android «Donut»(v1.6) скриптовый язык называется Edify и определн обычно в bootable/recovery/{edify,edifyscripting,updater} папках дерева исходного кода Android.
Wireless N:Wireless N технология увеличивает скорость беспроводного интернет соединения. Роутеры Wireless ‘N’ также работают с Wireless ‘G’ и ‘B’ беспроводными адаптерами.
WiiMax:(Worldwide Interoperability for Microwave Access) это коммуникационная технология, для высокосокростного бесповодного распространения интернет сигнала на широких территориях.
YAFFS:Yaffs1 это первая версия файловой системы работающей на NAND чипах, которые имеют 512 байт страницы + 16 байт зарезервированных (OOB;Out-Of-Band).[необходимо уточнение] Эти старые чипы также имели 2 или 3 цикла записи на страницу, с которыми YAFFS имела дело — т.н. грязные страницы помечались записыванием в специальные запрезервированные ячейки.
Более новые NAND флеш чипы имели большие страницы, 2048 байт + 64 байт зарезервировано, и меньшие требования к записи. Каждая стрница сблоком удаления(128 kilobytes) должна была записываться в последовательном режиме, и каждая страница должна записываться только один раз. YAFFS2 была разработана чтобы поддерживать более новы чипы YAFFS2 основывается на исходном коде YAFFS1, с серьезными отличиями во внутренней структуре, для которых теперь предположение о размере в 512 байт не существовало, и номер последовательности блока ставился на каждой записываемой странице. Таким образом старые страницы огли быть логически перезаписаны без нарушения правила «запись за один раз»[необходимо уточнение]
YAFFS это устойчивая, лог-структурированная файловая система, с высоки риоритетом поддержания целостности данных. Друга цель YAFFS это высокая производительность.YAFFS обычно опережает большинство альтернатив. Также она разработана для портативности и может быть использована на Linux, WinCE, pSOS, eCos,ThreadX и многих ОС узкого назначения. Вариант ‘YAFFS/Direct’ используется в ситуациях когда нет опреационной системы, встроенными ОС и бутлоадерами: она имеет то же ядро файловой ситемы, но упрощенный интерфейс взаимодействия с OS и аппаратного обеспечения NAND.
Zipalign: утилита архивирования предсталенная в первый раз с версией 1.6 Android SDK.Она оптимизирует пути в при создании APK. Это действие позволяет операционной системе Android взаимодействовать с приложением более эффективно, и следовательно потенциально делает работу приложений и системы в целом значительно быстрее. Время исполнения для приложений которые обработаны zipalign быстрее, что дает меньший объем потребления оперативной памяти во время запуска приложения.
habr.com
Определение андроид общее значение и понятие. Что это такое андроид
Android называют роботом, внешний вид которого похож на внешний вид человека . Android — это автоматические машины, которые по своей конфигурации способны имитировать определенные действия, которые выполняет человек.
Андроиды очень популярны в области научной фантастики . В литературе и кино часто воображалось создание очень продвинутых андроидов, наделенных искусственным интеллектом и способных во многих отношениях побеждать человека . В действительности, однако, возможности андроидов более ограничены.
Если сосредоточиться на книгах, то примером андроида является персонаж Р. Даниэля Оливава, созданный Исааком Азимовым . Этот андроид помогает детективу Элайже Бэйли в расследовании различных преступлений . В киноиндустрии одним из самых известных андроидов является Terminator T-800, которого играет Арнольд Шварценеггер .
Для науки копирование физического облика человека является большой проблемой, которая порой не имеет смысла, поскольку машины могут выполнять определенные задачи человека без необходимости иметь подобную физическую структуру. Однако есть андроиды, которые стали известны своим уровнем развития, например, ASIMO, созданный Honda в 2000 году . Этот андроид, помимо попыток содействовать научным исследованиям, может помочь людям с проблемами мобильности. Как бы то ни было, ни ASIMO, ни каким-либо другим настоящим андроидам до сих пор не удалось достичь функционирования фантастических андроидов, хотя эксперты продолжают работать над этим вопросом.
Кино часто представляет потенциальные проблемы заселения Земли умными андроидами, которые сосуществуют с людьми. Возьмем пример фильма « Терминатор », когда процессоры достигают уровня искусственного интеллекта и слишком высокой автономии, им удается взять под контроль власть над миром и подчинить человека своей воле, начиная эру террора, из которой кажется есть выход; По этой причине лидер революции против машин Джон Коннор отправляет андроида в прошлое, чтобы предотвратить развитие технологий до этого уровня.Это очень специфический сюжет, в котором человек использует технологию, которая сумела по-своему доминировать над ним, поскольку считает его единственным оружием, способным уничтожить себя. Хотя на момент выпуска первых двух выпусков Terminator еще не было мобильного телефона или плоского телевизора, сегодня мы живем между устройствами, которые общаются друг с другом, и это включает в себя такие же «базовые» устройства, как холодильники; По этой причине, это является специфическим случаем среди известных фантастических историй, поскольку это становится более реалистичным с течением времени.
Фильм « Заменители », снятый Джонатаном Мостоу и Брюсом Уиллисом и Радхой Митчелл в главных ролях, представил в 2009 году совершенно другое предложение: он рассказывает о сложной реальности будущей эпохи, когда люди больше не покидают своих домов, но они управляют андроидами, которые представляют их во внешнем мире, чтобы выполнять свою повседневную деятельность, будь то работа, покупки или проводить время со своими друзьями. Страх старения, неизбежно связанный со смертью, является одной из главных тем этой истории, в которой людям стыдно показывать свою истинную внешность и предпочитать оставаться инертными большую часть своего дня, отдавая свою жизнь кукле,
В любом случае главной проблемой человека кажется отсутствие удовлетворения инструментами, которые ему дала
ru.tax-definition.org
android — с английского на русский
Android — Parte de la familia Linux … Wikipedia Español
android — ANDROÍD, androizi, s.m. (livr.) Robot1 cu aspect uman. – Din fr. androïde. Trimis de ana zecheru, 13.09.2007. Sursa: DEX 98 androíd s. m. (sil. dro id), pl. androízi Trimis de siveco, 10.08.2004. Sursa: Dicţionar ortografic ANDROÍD, Ă adj … Dicționar Român
Android — steht für: Android (Betriebssystem), ein Betriebssystem für mobile Kleincomputer Androide, einen Roboter, der einem Menschen ähnlich sieht und sich menschenähnlich verhält Der Android, einen Film von Aaron Lipstadt Diese Sei … Deutsch Wikipedia
Android — An droid ([a^]n droid), ||Androides An*droi des ([a^]n*droi d[=e]z), n. [Gr. androeidh s of man s form; anh r, andro s, man + e i^dos form.] A machine or automaton in the form of a human being. [1913 Webster] … The Collaborative International Dictionary of English
Android — An droid, a. Resembling a man. [1913 Webster] … The Collaborative International Dictionary of English
android — (n.) automaton resembling a human being, 1842, from Mod.L. androides (itself attested as a Latin word in English from 1727), from Gk. andro human (see ANDRO (Cf. andro )) + eides form, shape. Gk. androdes meant like a man, manly; Cf. also Gk.… … Etymology dictionary
android — andròīd m <G androída> DEFINICIJA tehn. usavršena verzija robota, čovjekoliki robot ETIMOLOGIJA andro + id … Hrvatski jezični portal
android — {{/stl 13}}{{stl 8}}rz. mż I a. mos IIIa, Mc. androididzie {{/stl 8}}{{stl 7}} robot podobny do człowieka; postać z książek i powieści fantastycznonaukowych {{/stl 7}} … Langenscheidt Polski wyjaśnień
android — ► NOUN ▪ (in science fiction) a robot with a human appearance … English terms dictionary
android — [an′droid΄] n. [ ANDR(O) + OID] in science fiction, an automaton made to resemble a human being … English World dictionary
Android — У этого термина существуют и другие значения, см. Андроид (значения). Android … Википедия
translate.academic.ru
Что такое Android в телефоне и для чего он нужен?
Современные пользователи смартфонов и планшетов вряд ли зададут вопрос, который вы видите в заглавии этой темы, однако давайте не будет забывать, что на свете можно найти огромное количество людей, которые в принципе не знакомы с мобильной техникой. А значит, они не знакомы с таким определением, как «андроид». Что это?
Фактически, слово «андроид» имеет несколько значений:
- Человекоподобный робот
- Одноименный фильм
- Операционная система
Наибольший интерес вызывает последний пункт, о нем и поговорим.
На момент написания статьи Android является самой популярной мобильной операционной системой и вряд ли что-то изменится в ближайшие годы, ведь, по данным на 2014 год, именно ОС Android была установлена аж в 86% смартфонов, проданных за второй квартал того же года.
Логотип Android — зеленый робот, вот он:
Изначально операционная система разрабатывалась одноименной компанией — Android Inc., которую в 2004 году выкупил интернет-гигант Google. Однако первая версия операционной системы официально вышла значительно позже, лишь в сентябре 2008 года. Почему примечательно? По той причине, что операционная система iPhone OS, которая в дальнейшем была переименована в iOS, появилась более чем на год раньше, однако это не помешало занять Android лидирующие позиции. Есть мнение, что если бы iOS использовалась не только на устройствах Apple, но и на любых других, скорее всего, именно она была бы сейчас самой популярной мобильной операционной системой в мире. Впрочем, история не терпит сослагательного наклонения.
К слову, вот первое устройство на базе Android — HTC Dream (T-Mobile G1):
Что касается операционной системы, то напомним, что это комплекс взаимосвязанных программ или приложений, предназначенных для управления ресурсами устройства. Вы же наверняка слышали про операционную систему Windows и работали с ней? Android — тоже операционная система, предназначенная в первую очередь для работы с сенсорными экранами. По этой причине современный смартфон легко заменяет домашний компьютер, который можно поместить в карман. Впрочем, на деле это и есть компактный компьютер. Устройство без операционной системы превращается, как это модно сейчас говорить, в кирпич — нерабочий девайс.
Изначально OS Android использовалась только на смартфонах, однако сегодня все значительно поменялось. Так, вы можете встретить Android на планшетах, электронных книгах, умных часах, смартбуках, игровых приставках, телевизорах и т.д.
Что позволяет делать OS Android?
Если прежде мы использовали телефоны для звонков и отправки SMS-сообщений, то с появлением и развитием смартфонов на базе Android, как упоминалось выше, мы получили полноценный компактный компьютер. А может, даже больше: например, некоторые смартфоны позволяют получать фотоснимки едва ли не на профессиональном уровне.
Что касается операционной системы Android, она позволяет пользоваться интернетом, играть в самые различные игры, смотреть видеоролики, слушать аудиозаписи, чатиться в мессенджерах, устанавливать и запускать самые различные приложения, включая даже графические редакторы, работать с внешними устройствами и т.д. Разумеется, смартфоны позволяют совершать звонки, причем многие модели поддерживают 2 сим-карты, а некоторые — 3 и даже более!
Кстати, некоторые пользователи спрашивают, почему различается внешний вид операционной системы Android в зависимости от устройства? Различаются так называемые ланучеры (лончеры) — это графический интерфейс пользователя. То есть внешний вид рабочего стола, иконок, меню может быть абсолютно разный на различных устройствах, однако все они работают на базе Android. Это тоже одна из особенностей данной операционной системы. Посмотрите на разницу:
Надо отметить, что Google постоянно модернизирует OS Android. Однако вы должны понимать, что не все устройства поддерживают последние версии Android — на некоторые обновлений вообще нельзя дождаться! Почему? Скорее всего, по той причине, что создатель устройства не видит в этом смысла, к тому же это зачастую «заставляет» пользователя сменить устройство на более новое. Между прочим, на «старые» модели iPhone тоже нельзя установить свежие версии прошивок.
Как бы там ни было, операционная система Android — одна из лучших в мире. Возможно, самая лучшая в мире, что косвенно может подтвердить ее популярность.
androidnik.ru
Как работает Android, часть 1 / Ростелеком-Солар corporate blog / Habr
В этой серии статей я расскажу о внутреннем устройстве Android — о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.
Статьи серии:
Немного фактов
Android — самая популярная операционная система и платформа для приложений, насчитывающая больше двух миллиардов активных пользователей. На ней работают совершенно разные устройства, от «интернета вещей» и умных часов до телевизоров, ноутбуков и автомобилей, но чаще всего Android используют на смартфонах и планшетах.
Android — свободный и открытый проект. Большинство исходного кода (который можно найти на https://source.android.com) распространяется под свободной лицензией Apache 2.0.
Компания Android Inc. была основана в 2003 году и в 2005 году куплена Google. Публичная бета Android вышла в 2007 году, а первая стабильная версия — в 2008, с тех пор мажорные релизы выходят примерно раз в год. Последняя на момент написания стабильная версия Android — 7.1.2 Nougat.
Android is Linux
По поводу такой формулировки было много споров, так что сразу поясню, что именно я имею в виду под этой фразой: Android основан на ядре Linux, но значительно отличается от большинства других Linux-систем.
Среди исходной команды разработчиков Android был Robert Love, один из самых известных разработчиков ядра Linux, да и сейчас компания Google остаётся одним из самых активных контрибьюторов в ядро, поэтому неудивительно, что Android построен на основе Linux.
Как и в других Linux-системах, ядро Linux обеспечивает такие низкоуровневые вещи, как управление памятью, защиту данных, поддержку мультипроцессности и многопоточности. Но — за несколькими исключениями — вы не найдёте в Android других привычных компонентов GNU/Linux-систем: здесь нет ничего от проекта GNU, не используется X.Org, ни даже systemd. Все эти компоненты заменены аналогами, более приспособленными для использования в условиях ограниченной памяти, низкой скорости процессора и минимального потребления энергии — таким образом, Android больше похож на встраиваемую (embedded) Linux-систему, чем на GNU/Linux.
Другая причина того, что в Android не используется софт от GNU — известная политика «no GPL in userspace»:
We are sometimes asked why Apache Software License 2.0 is the preferred license for Android. For userspace (that is, non-kernel) software, we do in fact prefer ASL 2.0 (and similar licenses like BSD, MIT, etc.) over other licenses such as LGPL.Android is about freedom and choice. The purpose of Android is promote openness in the mobile world, and we don’t believe it’s possible to predict or dictate all the uses to which people will want to put our software. So, while we encourage everyone to make devices that are open and modifiable, we don’t believe it is our place to force them to do so. Using LGPL libraries would often force them to do just that.
Само ядро Linux в Android тоже немного модифицировано: было добавлено несколько небольших компонентов, в том числе ashmem (anonymous shared memory), Binder driver (часть большого и важного фреймворка Binder, о котором я расскажу ниже), wakelocks (управление спящим режимом) и low memory killer. Исходно они представляли собой патчи к ядру, но их код был довольно быстро добавлен назад в upstream-ядро. Тем не менее, вы не найдёте их в «обычном линуксе»: большинство других дистрибутивов отключают эти компоненты при сборке.
В качестве libc (стандартной библиотеки языка C) в Android используется не GNU C library (glibc), а собственная минималистичная реализация под названием bionic, оптимизированная для встраиваемых (embedded) систем — она значительно быстрее, меньше и менее требовательна к памяти, чем glibc, которая обросла множеством слоёв совместимости.
В Android есть оболочка командной строки (shell) и множество стандартных для Unix-подобных систем команд/программ. Во встраиваемых системах для этого обычно используется пакет Busybox, реализующий функциональность многих команд в одном исполняемом файле; в Android используется его аналог под названием Toybox. Как и в «обычных» дистрибутивах Linux (и в отличие от встраиваемых систем), основным способом взаимодействия с системой является графический интерфейс, а не командная строка. Тем не менее, «добраться» до командной строки очень просто — достаточно запустить приложение-эмулятор терминала. По умолчанию он обычно не установлен, но его легко, например, скачать из Play Store (Terminal Emulator for Android, Material Terminal, Termux). Во многих «продвинутых» дистрибутивах Android — таких, как LineageOS (бывший CyanogenMod) — эмулятор терминала предустановлен.
Второй вариант — подключиться к Android-устройству с компьютера через Android Debug Bridge (adb). Это очень похоже на подключение через SSH:
user@desktop-linux$ adb shell
android$ uname
Linux
Из других знакомых компонентов в Android используются библиотека FreeType (для отображения текста), графические API OpenGL ES, EGL и Vulkan, а также легковесная СУБД SQLite.
Кроме того, раньше для реализации WebView использовался браузерный движок WebKit, но начиная с версии 7.0 вместо этого используется установленное приложение Chrome (или другое; список приложений, которым разрешено выступать в качестве WebView provider, конфигурируется на этапе компиляции системы). Внутри себя Chrome тоже использует основанный на WebKit движок Blink, но в отличие от системной библиотеки, Chrome обновляется через Play Store — таким образом, все приложения, использующие WebView, автоматически получают последние улучшения и исправления уязвимостей.
It’s all about apps
Как легко заметить, использование Android принципиально отличается от использования «обычного Linux» — вам не нужно открывать и закрывать приложения, вы просто переключаетесь между ними, как будто все приложения запущены всегда. Действительно, одна из уникальных особенностей Android — в том, что приложения не контролируют напрямую процесс, в котором они запущены. Давайте поговорим об этом подробнее.
Основная единица в Unix-подобных системах — процесс. И низкоуровневые системные сервисы, и отдельные команды в shell’е, и графические приложения — это процессы. В большинстве случаев процесс представляет собой чёрный ящик для остальной системы — другие компоненты системы не знают и не заботятся о его состоянии. Процесс начинает выполняться с вызова функции main()
(на самом деле _start
), и дальше реализует какую-то свою логику, взаимодействуя с остальной системой через системные вызовы и простейшее межпроцессное общение (IPC).
Поскольку Android тоже Unix-подобен, всё это верно и для него, но в то время как низкоуровневые части — на уровне Unix — оперируют понятием процесса, на более высоком уровне — уровне Android Framework — основной единицей является приложение. Приложение — не чёрный ящик: оно состоит из отдельных компонентов, хорошо известных остальной системе.
У приложений Android нет функции main()
, нет одной точки входа. Вообще, Android максимально абстрагирует понятие приложение запущено как от пользователя, так и от разработчика. Конечно, процесс приложения нужно запускать и останавливать, но Android делает это автоматически (подробнее я расскажу об этом в следующих статьях). Разработчику предлагается реализовать несколько отдельных компонентов, каждый из которых обладает своим собственным жизненным циклом.
In Android, however, we explicitly decided we were not going to have a main() function, because we needed to give the platform more control over how an app runs. In particular, we wanted to build a system where the user never needed to think about starting and stopping apps, but rather the system took care of this for them… so the system had to have some more information about what is going on inside of each app, and be able to launch apps in various well-defined ways whenever it is needed even if it currently isn’t running.
Для реализации такой системы нужно, чтобы приложения имели возможность общатся друг с другом и с системными сервисами — другими словами, нужен очень продвинутый и быстрый механизм IPC.
Этот механизм — Binder.
Binder
Binder — это платформа для быстрого, удобного и объектно-ориентированного межпроцессного взаимодействия.
Разработка Binder началась в Be Inc. (для BeOS), затем он был портирован на Linux и открыт. Основной разработчик Binder, Dianne Hackborn, была и остаётся одним из основных разработчиков Android. За время разработки Android Binder был полностью переписан.
Binder работает не поверх System V IPC (которое даже не поддерживается в bionic), а использует свой небольшой модуль ядра, взаимодействие с которым из userspace происходит через системные вызовы (в основном ioctl
) на «виртуальном устройстве» /dev/binder
. Со стороны userspace низкоуровневая работа с Binder, в том числе взаимодействие с /dev/binder
и marshalling/unmarshalling данных, реализована в библиотеке libbinder.
Низкоуровневые части Binder оперируют в терминах объектов, которые могут пересылаться между процессами. При этом используется подсчёт ссылок (reference-counting) для автоматического освобождения неиспользуемых общих ресурсов и уведомление о завершении удалённого процесса (link-to-death) для освобождения ресурсов внутри процесса.
Высокоуровневые части Binder работают в терминах интерфейсов, сервисов и прокси-объектов. Описание интерфейса, предоставляемого программой другим программам, записывается на специальном языке AIDL (Android Interface Definition Language), внешне очень похожем на объявление интерфейсов в Java. По этому описанию автоматически генерируется настоящий Java-интерфейс, который потом может использоваться и клиентами, и самим сервисом. Кроме того, по .aidl
-файлу автоматически генерируются два специальных класса: Proxy (для использования со стороны клиента) и Stub (со стороны сервиса), реализующие этот интерфейс.
Для Java-кода в процессе-клиенте прокси-объект выглядит как обычный Java-объект, который реализует наш интерфейс, и этот код может просто вызывать его методы. При этом сгенерированная реализация прокси-объекта автоматически сериализует переданные аргументы, общается с процессом-сервисом через libbinder, десериализует переданный назад результат вызова и возвращает его из Java-метода.
Stub работает наоборот: он принимает входящие вызовы через libbinder, десериализует аргументы, вызывает абстрактную реализацию метода, сериализует возвращаемое значение и передаёт его процессу-клиенту. Соответственно, для реализации сервиса программисту достаточно реализовать абстрактные методы в унаследованном от Stub классе.
Такая реализация Binder на уровне Java позволяет большинству кода использовать прокси-объект, вообще не задумываясь о том, что его функциональность реализована в другом процессе. Для обеспечения полной прозрачности Binder поддерживает вложенные и рекурсивные межпроцессные вызовы. Более того, использование Binder со стороны клиента выглядит совершенно одинаково, независимо от того, расположена ли реализация используемого сервиса в том же или в отдельном процессе.
Для того, чтобы разные процессы могли «найти» сервисы друг друга, в Android есть специальный сервис ServiceManager, который хранит, регистрирует и выдаёт токены всех остальных сервисов.
Binder широко используется в Android для реализации системных сервисов (например, пакетного менеджера и буфера обмена), но детали этого скрыты от разработчика приложений высокоуровневыми классами в Android Framework, такими как Activity, Intent и Context. Приложения могут также использовать Binder для предоставления друг другу собственных сервисов — например, приложение Google Play Services вообще не имеет собственного графического интерфейса для пользователя, но предоставляет разработчикам других приложений возможность пользоваться сервисами Google Play.
Подробнее про Binder можно узнать по этим ссылкам:
В следующей статье я расскажу о некоторых идеях, на которых построены высокоуровневые части Android, о нескольких его предшественниках и о базовых механизмах обеспечения безопасности.
habr.com
Что такое Android OS
Android – это одна из популярнейших и наиболее перспективных операционных систем для различных мобильных устройств. Система предлагает очень удобный инструментарий и максимальную гибкость настроек, что позволяет каждому пользователю смартфона или планшета на Андроиде настроить его полностью под свои нужды. Разработка данной операционной системы стартовала в далеком 2003-м году, но по-настоящему известной она стала лишь через 2 года – после приобретения компанией Google. Переломный момент в истории Android произошел осенью 2008-го года. Тогда компания Google продемонстрировала T-Mobile G1, ставший первым смартфоном под управлением Андроид. Именно в тот момент многие мировые производители обратили внимание на перспективную операционную систему.(самая первая версия)
Основные возможности операционной системы Android
Рассматриваемая ОС всегда позиционировалась своими разработчиками как система с открытым кодом. Это позволяет любому желающему создавать свои приложения, игры и прочие дополнения для расширения возможностей Андроид-гаджетов. Разработчики изначально продумали все так, чтобы операционная система работала максимально быстро даже на самом «бюджетном» железе. Это является несомненным плюсом, т.к. теперь даже люди с самыми скромными финансовыми возможностями могут наслаждаться всеми основными преимуществами современных смартфонов.
(Android 5.0)
Открытостью системы охотно пользуются и производители мобильной электроники, выпуская собственные пользовательские интерфейсы, к примеру, Sense от компании HTC. Это делает гаджеты на Андроиде от разных производителей непохожими друг на друга. Любителям классического и «чистого» Android следует обратить свое внимание на устройства Nexus. Именно они традиционно первыми получают обновления.
Сроки обновления других устройств обычно затягиваются ввиду необходимости доработки фирменных оболочек в соответствии с особенностями новых версий ОС.
Главным источником игр и приложений является Play Маркет. В каталогах данного магазина доступен огромный выбор бесплатного и платного контента, ассортимент которого активно расширяется. Качество «андроидных» игр и приложений постоянно растет. Периодически различные приложения выпускает и сам Google.
В целом же устройства на Android имеют все функции, которыми по негласным требованиям должны обладать современные смартфоны и планшетники. Помимо этого, функционал с легкостью расширяется при помощи приложений, виджетов или сторонних прошивок.
Желающим приобрести смартфон на Android необходимо помнить, что многие функции и программы ориентированы на работу с интернетом. При отсутствии доступа к Wi-Fi рекомендуется подключить выгодный тариф для интернет-пользователей или же отключить некоторые функции, требующие выхода в сеть.
Также нельзя не отметить ограниченную автономность устройств на Андроиде, в особенности представителей предыдущих поколений. При активном использовании смартфон или планшет придется заряжать ежедневно, а в некоторых случаях и по 2 раза в сутки. Производители активно работают над исправлением этого недостатка и в последнее время на рынке стали появляться интересные устройства с заметно увеличенной автономностью. Не остаются в стороне и разработчики. С каждой новой версией операционная система «кушает» все меньше заряда.
На основании приведенной информации можно выделить ключевые преимущества и недостатки рассматриваемой операционной системы. Так, несомненными преимуществами Андроида является:
2. Нетребовательность к «железу» устройства.
3. Огромный ассортимент приложений и увлекательных игр на любой вкус.
4. Полное соответствие современным представлениям о функционале смартфона.
5. Свобода действий для пользователя. При желании система и ее интерфейс с легкостью настраиваются под нужды владельца.
6. Популярность операционной системы среди подавляющего большинства современных производителей. Это позволяет пользователю с практически любым бюджетом купить функциональный и современный смартфон.
Есть и свои недостатки. Ключевыми являются:
1. Открытость программного кода. Да, ее можно одновременно отнести и к преимуществам, и к недостаткам. Недостатком это является по той причине, что производители мобильных устройств в большинстве своем предпочитают создавать собственные оболочки. Из-за этого появляются существенные временные задержки между официальным выходом обновления ОС и ее получением на различные устройства.
2. Сравнительно низкая автономность. В последнее время в данном направлении был сделан огромный шаг вперед, так что уже совсем скоро шутки о том, что «Смартфоны на Андроиде самые спортивные, т.к. у них 2 раза в день зарядка» станут не более чем забавной историей.
Платформа постоянно совершенствуется и развивается. Уже сегодня она уверенно чувствует себя в тройке лидеров на рынке операционных систем. Многочисленные эксперты неоднократно отмечали, что будущее именно за Android и не ошиблись.
droidway.net
Архитектура Android / Habr
Автор перевода и источник: Максим ЮдинAndroid – это набор открытого программного обеспечения для мобильных устройств от компании Google, в состав которого входит операционная система и комплект базовых межплатформенных приложений.
Для разработки приложений под платформу Android потребуется набор инструментов и библиотек API — Android SDK, последнюю версию которого вы можете найти здесь.
На представленном ниже рисунке показана архитектура ОС Android.
Уровень приложений (Applications)
В состав Android входит комплект базовых приложений: клиенты электронной почты и SMS, календарь, различные карты, браузер, программа для управления контактами и много другое. Все приложения, запускаемые на платформе Android написаны на языке Java.
Уровень каркаса приложений (Application Framework)
Android позволяет использовать всю мощь API, используемого в приложениях ядра. Архитектура построена таким образом, что любое приложение может использовать уже реализованные возможности другого приложения при условии, что последнее откроет доступ на использование своей функциональности. Таким образом, архитектура реализует принцип многократного использования компонентов ОС и приложений.
Основой всех приложений является набор систем и служб:
1. Система представлений (View System) – это богатый набор представлений с расширяемой функциональностью, который служит для построения внешнего вида приложений, включающий такие компоненты, как списки, таблицы, поля ввода, кнопки и т.п.
2. Контент-провайдеры (Content Providers) – это службы, которые позволяют приложениям получать доступ к данным других приложений, а также предоставлять доступ к своим данным.
3. Менеджер ресурсов (Resource Manager) предназначен для доступа к строковым, графическим и другим типам ресурсов.
4. Менеджер извещений (Notification Manager) позволяет любому приложению отображать пользовательские уведомления в строке статуса.
5. Менеджер действий (Activity Manager) управляет жизненным циклом приложений и предоставляет систему навигации по истории работы с действиями.
Уровень библиотек (Libraries)
Платформа Android включает набор C/C++ библиотек, используемых различными компонентами ОС. Для разработчиков доступ к функциям этих библиотек реализован через использование Application Framework. Ниже представлены некоторые из них:
1. System C library — BSD-реализация стандартной системной библиотеки C (libc) для встраиваемых устройств, основанных на Linux.
2. Media Libraries – библиотеки, основанные на PacketVideo‘s OpenCORE, предназначенные для поддержки проигрывания и записи популярных аудио- и видео- форматов (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG и т.п.).
3. Surface Manager – менеджер поверхностей управляет доступом к подсистеме отображения 2D- и 3D- графических слоев.
4. LibWebCore – современный движок web-браузера, который предоставляет всю мощь встроенного Android-браузера.
5. SGL – движок для работы с 2D-графикой.
6. 3D libraries – движок для работы с 3D-графикой, основанный на OpenGL ES 1.0 API.
7. FreeType – библиотека, предназначенная для работы со шрифтами.
8. SQLite – мощный легковесный движок для работы с реляционными БД.
Уровень среды исполнения (Android Runtime)
В состав Android входит набор библиотек ядра, которые предоставляют большую часть функциональности библиотек ядра языка Java.
Платформа использует оптимизированную, регистр-ориентированную виртуальную машину Dalvik, в отличии от нее стандартная виртуальная машина Java – стек-ориентированная. Каждое приложение запускается в своем собственном процессе, со своим собственным экземпляром виртуальной машины. Dalvik использует формат Dalvik Executable (*.dex), оптимизированный для минимального использования памяти приложением. Это обеспечивается такими базовыми функциями ядра Linux, как организация поточной обработки и низкоуровневое управление памятью. Байт-код Java, на котором написаны ваши приложения, компилируются в dex-формат при помощи утилиты dx, входящей в состав SDK.
Уровень ядра Linux (Linux Kernel)
Android основан на ОС Linux версии 2.6, тем самым платформе доступны системные службы ядра, такие как управление памятью и процессами, обеспечение безопасности, работа с сетью и драйверами. Также ядро служит слоем абстракции между аппаратным и программным обеспечением.
habr.com