Перейти к основному содержимому

2.01. Android

Разработчику Архитектору Инженеру

Android

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


★ Как устроена Android?

Основные компоненты Android:

  • Ядро Linux – управляет взаимодействием с железом;
  • Hardware Abstraction Layer (HAL) – интерфейс между драйверами и системой;
  • Android Runtime (ART) – среда исполнения приложений;
  • Framework API – набор классов и сервисов для разработки;
  • Пользовательский интерфейс – launcher, System UI;
  • Google Mobile Services (GMS) – дополнительные функции от Google.

1. Ядро

★ Ядро Android – это Linux, но сильно модифицированное под мобильные устройства, с возможностями управления процессами, памятью, файловой системой, поддержкой драйверов Wi-Fi, Bluetooth, GPS, камер, а также многозадачности и безопасности. Производители могут использовать разные версии ядра Linux, что влияет на обновления безопасности и совместимость.


2. Открытость

★ Открытость. Android имеет множество вариаций, где часть – официальные, от Google, а часть – по производителям.

По произвоодителям есть следующие вариации Android (оболочки):

  • OnePlus OxygenOS;
  • Samsung One UI;
  • Xiaomi MIUI;
  • OPPO ColorOS;
  • Sony Xperia UI;
  • Realme UI;
  • Pixel Experience (чистый Android от Google).

Кроме того, имеются и альтернативные прошивки:

  • LineageOS – самая популярная "чистая" замена;
  • Pixel Experience, crDroid, Evolution X;
  • GrapheneOS – фокус на безопасности;
  • PostmarketOS – экспериментальная Unix-подобная ОС на базе Linux.

3. Среда и ПО

★ Среда и ключевое ПО, службы.

Графическая среда:

  • Launcher – пользовательская оболочка (например, Nova Launcher);
  • System UI – отвечает за статусбар, навигацию, блокировку;
  • Settings App – центр управления.

Интеграция с Google:

  • Google Play Services – API для карт, геолокации, оплаты;
  • Google Assistant, Voice Typing, Lens;
  • Google Photos, Drive, Gmail.

Ключевые приложения:

  • Google Messages, Phone, Browser;
  • Camera, Gallery, Clock, Calculator;
  • Play Store, YouTube, Chrome, Maps.

Службы:

  • Zygote – запуск новых приложений;
  • SurfaceFlinger – управление отображением;
  • AudioFlinger – звуковая система;
  • PackageManagerService – управление приложениями;
  • ActivityManagerService – жизненный цикл приложений.

4. Инструменты

★ Полезные инструменты Android

На уровне пользователя:

  • Google Assistant – голосовое управление;
  • Digital Wellbeing – контроль времени использования;
  • Split Screen, Picture-in-Picture;
  • Files by Google, Gallery Go, Camera Go.

Для разработчиков и продвинутых:

  • ADB (Android Debug Bridge) – CLI-инструмент для работы с устройством;
  • Fastboot – загрузка в режим восстановления и перепрошивка;
  • Logcat – просмотр логов системы;
  • Android Studio / IntelliJ IDEA – IDE;
  • Termux – Linux-терминал на Android.

Примеры ADB-команд:

adb devices                 # список подключенных устройств
adb shell # вход в shell
adb install app.apk # установка приложения
adb logcat # просмотр логов


5. Сеть

★ Работа с сетью в Android

Wi-Fi и Bluetooth:

  • Wi-Fi Settings – выбор сети, DNS, заблокированные сети;
  • Bluetooth Pairing – подключение аксессуаров;
  • Hotspot & Tethering – раздача интернета.

Инструменты диагностики:

  • Settings > Network & Internet > Data Usage;
  • Wi-Fi Diagnostics Mode (на некоторых устройствах);
  • Ping via Termux / Terminal Emulator;
  • IPerf3 – тестирование скорости сети.

Удалённый доступ:

  • Scrcpy – управление Android с ПК через USB;
  • Vysor, AirDroid, TeamViewer – удалённый доступ;
  • SSH (через Termux или root).

6. Запуск с других ОС

Запуск с других ОС:

  • Android Emulator (входит в Android Studio);
  • Genymotion;
  • Bluestacks, Nox Player, LDPlayer;
  • VirtualBox / QEMU;
  • Phoenix OS / PrimeOS / AnLinux.

Запуск других ОС на Android:

  • ExaGear, Parallels Access – Windows;
  • Termux, UserLAnd, AnLinux, Debian Noroot, PRoot – Linux;
  • RetroArch, PPSSPP, Dolphin, ePSXe, Mupen64Plus, Gambatte, Nestopia – эмуляторы игровых консолей.