Android
Android este un OS bazat pe o versiune modificată de Linux (pentru gestiunea componentelor hardware, a proceselor și a memoriei) și biblioteci Java (pentru telefonie (audio/video), conectivitate, grafică, programarea interfețelor cu utilizatorul). Modificarile aduse Linux sunt multe, printre care drivere noi , optimizari pentru a reduce consumul de energie, schimbari de arhitectura etc.
Componentele principale pe care le vom întâlni la laborator sunt:
- Android SDK (Software Development Kit) - Setul de instrumente software care permite dezvoltatorilor să creeze aplicații Android folosind Java sau Kotlin.
- NDK (Native Development Kit) - Permite dezvoltatorilor să scrie părți ale aplicațiilor în C/C++ pentru performanță maximă.
- ADB (Android Debug Bridge) - Un instrument în linie de comandă care permite comunicarea și controlul dispozitivelor Android de pe computer.
- Android Studio - Mediul de dezvoltare integrat (IDE) oficial pentru crearea aplicațiilor Android.
- Gradle - Sistemul de build care compilează și împachetează aplicațiile Android în fișiere APK sau AAB.
- Android Jetpack - O colecție de biblioteci, instrumente și ghiduri care ajută dezvoltatorii să construiască aplicații de calitate mai rapid.
- Google Play Services - Un set de API-uri și servicii care oferă funcționalități precum autentificare, maps, notificări push.
- Android Virtual Device (AVD) - Un simulator de dispozitiv Android care rulează pe computer pentru testarea aplicațiilor.
- AAPT (Android Asset Packaging Tool) - Instrumentul care compilează resursele aplicației (imagini, layout-uri XML) în formatul binar Android.
Android este disponibil oficial doar pentru procesoare bazate pe ARM și Intel (atât pe 32, cât și pe 64 de biți). Astfel, sistemul de compilare al arborelui Android Open Source Project (AOSP), instrumentele pre-compilate, suitele de testare și Android Native Development Kit (NDK) disponibil public susțin doar aceste arhitecturi.
Este un produs open-source (putând fi dezvoltat de producătorii de dispozitive mobile cu extensii proprietare pentru a-și particulariza platforma), dezvoltat în prezent de Google.
În condițiile în care pe piața dispozitivelor mobile aplicațiile sunt cele care aduc avantajul competițional, beneficiul Android este reprezentat de abordarea unitară pentru dezvoltarea aplicațiilor. Cu alte cuvinte, o aplicație dezvoltată conform API-ului Android va putea rula pe mai multe dispozitive mobile pe care este instalat sistemul de operare respectiv.