Короткі замітки і коментарі по 3- му розділу книги "Learning Android", 2-nd Edition by Marko Gargenta and Masumi Nakamura (2014). Думаю написати їх по кожному розділу (якщо вистачить духу). Можливо, колись такі замітки переростуть у щось більше.
Android - не Linux, проте є надбудовою над kernel. Так пишуть автори, хоча б я сказав би, що Android - це Linux, який спочатку обрізали, а потім доповнили новими можливостями :) Зокрема, у андроїда відсутні:
- менеджер вікон X11
- можливості створення користувачів
- glib (Стандартна бібліотека С)
Рідний код андроїда (the user space) переважно писався на С/C++. Ця суміш включає такі розумні слова як: HAL, native libraries, native daemons та native tools.
HAL - hardware abstraction layer (очевидно це щось стосується апаратного забезпечення:))
Native Libraries - це бібліотеки С++. Деякі з них спеціально писалися під Android OS, а решта взяті з Open Source. Зокрема:
- Bionic - андроїдна реалізація бібліотека libc, яка початково взяти із BSD. Bioniс поширюється на умовах ліцензії Apache/MIT license.
- Framework libraries - різні бібліотеки спроектовані для підтримки системних сервісів: локацї, медія, встановлювача пакетів, телефонії, WiFi, voip і т.д.
- Webkit - рушій веб-візуалізації для Safari, Chrome та ін.
- SQLite - база даних SQL призначена для використаннями програмами Android
- Apache Harmony - відкрита реалізація бібліотек Java
- OpenGL - бібліотека 3D графіки
- OpenSSL - бібліотека для криптографії.
- Service Manager (servicemanager) - верховний демон і найважливіший:)
- Radio interface layer daemon (rild) - GSP, CDMA
- Installation daemon (installd) - опікується встановленням, обновленням і гарантуванням доступу
- Media server (mediaserver) - відповідальний за камеру, аудіо та ін. медійні сервіси
- Android Debug Bridge (adbd) - дозволяє доступитися до пристрою з комп’ютера
Native Tools - деякі рідні команди linux + власне андроїда. З лінукса cd, ls, ps, top, df і ще деякі. Немає у андроїді: grep, vi, less, more. Проте деякі розробники повертають у власні дистрибутиви ці команди.
Java
Dalvik - власна віртуальна машина Java (проекти Open JDK, Apache Harmony projects ). Викинуто пакети awt та swing. Перероблено багато стандартних пакетів, добавлені свої.
Програми для андроїда спочатку компілюються в байткод, а згодом компілюються у Dalvik code, який і запускається на Dalvik VM.
Для чого так ускладнювати? Все тому, що байткод джави переважно має стабільну структуру і не зазнає істотних переробок з версії до версії Java. В той же час саме написання коду на Java еволюціонує.
Application Framework
Програмний Фреймок багато в чому повторює структуру Java Standart Edition. Там є такі пакети як: java.lang.*, java.utils.*, java.io.*, java.net.* і т.п. Включає багато сервісів(менеджерів) для роботи з WiFi, сенсорами, телефонією і т.д.
За корисною документацію можна завітати на Android.com.
Android Application Package (APK) - це по суті виконуваний застосунок java. А вірніше це виконуваний ZIP архів. Тобто це те, чим закінчується робота кожного розробника під андроїд. Основні компоненти:
Програмамаи можна обзавестися у спеціальних веб-маркети як то Google Play. Зареєстровані випадки потрапляння вірусів. Вбудованого антивірусу в андроїді немає. Відповідальність за їх відсутність покладається на веб-маркети.
Java
Dalvik - власна віртуальна машина Java (проекти Open JDK, Apache Harmony projects ). Викинуто пакети awt та swing. Перероблено багато стандартних пакетів, добавлені свої.
Програми для андроїда спочатку компілюються в байткод, а згодом компілюються у Dalvik code, який і запускається на Dalvik VM.
Для чого так ускладнювати? Все тому, що байткод джави переважно має стабільну структуру і не зазнає істотних переробок з версії до версії Java. В той же час саме написання коду на Java еволюціонує.
Application Framework
Програмний Фреймок багато в чому повторює структуру Java Standart Edition. Там є такі пакети як: java.lang.*, java.utils.*, java.io.*, java.net.* і т.п. Включає багато сервісів(менеджерів) для роботи з WiFi, сенсорами, телефонією і т.д.
За корисною документацію можна завітати на Android.com.
Android Application Package (APK) - це по суті виконуваний застосунок java. А вірніше це виконуваний ZIP архів. Тобто це те, чим закінчується робота кожного розробника під андроїд. Основні компоненти:
- Android Manifest file - головний файл
- Dalvik executable - власне сам скомпільований код
- Resources - всякі дрібнички для програми, картинки і т.п.
- Native libraries - код на С++
- Signatures - цифровий підпис
Програмамаи можна обзавестися у спеціальних веб-маркети як то Google Play. Зареєстровані випадки потрапляння вірусів. Вбудованого антивірусу в андроїді немає. Відповідальність за їх відсутність покладається на веб-маркети.
Немає коментарів:
Дописати коментар