Android: nədir, sistem arxitekturası və Kotlin ilə inkişaf

Müəllif: IT Sectr Dərc olunub: 2026-02-07 Oxuma vaxtı: 11 dəq

Android — açıq mənbə kodu (AOSP) olan və Linux nüvəsində işləyən Google mobil əməliyyat sistemidir. Android inkişafı Kotlin dilində Android Studio mühitində aparılır. Məqalə OS arxitekturasını, tətbiq komponentlərini, Jetpack Compose-u və Google Play-də dərci əhatə edir.

Əsas məqamlar

  • Android — dörd qatlı Linux nüvəsində OS: nüvə, HAL, Android Runtime, Application Framework
  • Kotlin — null təhlükəsizliyi və asinxronluq üçün korutinlər ilə əsas inkişaf dili
  • Activity, Service, BroadcastReceiver, ContentProvider — Android tətbiqinin dörd məcburi komponenti
  • Jetpack Compose — Google tərəfindən yeni layihələr üçün tövsiyə olunan deklarativ UI framework
  • Google Play — 15–30% komissiya və Play Integrity təhlükəsizlik yoxlaması ilə əsas paylama kanalı

Android nədir?

Android — Linux nüvəsi əsasında mobil əməliyyat sistemidir, Google tərəfindən 2007-ci ildən inkişaf etdirilir. Mənbə kodu Android Open Source Project (AOSP) çərçivəsində Apache 2.0 lisenziyası altında açıqdır. Hər bir istehsalçı sistemi dəyişdirə və öz cihazlarında quraşdıra bilər.

StatCounter (2026) məlumatlarına görə, Android qlobal mobil OS bazarının təxminən 72%-ni tutur. Ən böyük istehsalçılar Samsung, Xiaomi, Oppo, Vivo, Google Pixel-dir. Parçalanma platformanın əsas problemidir: müxtəlif OS versiyaları olan minlərlə model eyni vaxtda istifadə olunur.

Android arxitekturası icazələr (permissions) prinsipi üzərində qurulmuşdur: hər bir tətbiq ayrı Linux UID altında işləyir və yalnız öz məlumatlarına çıxışı var. Sistem resurslarına (kamera, mikrofon, kontaktlar) çıxış Android 6-dan (API 23) başlayaraq iş vaxtı Android Permissions vasitəsilə tələb olunur.

Android versiyalarının tarixi

Android 1.0 2008-ci ildə HTC Dream-də buraxılmışdır. Əsas mərhələlər: Android 4.0 Ice Cream Sandwich (telefonlar və planşetlər üçün vahid interfeys), Android 5.0 Lollipop (Material Design), Android 6.0 (iş vaxtı icazələri), Android 10 (tünd tema, jestlər), Android 12 (Material You). 2023-cü ildən Google desert adları olmadan illik əsas buraxılışlara keçmişdir.

Android VersiyasıİlƏsas Yenilik
Android 1.02008HTC Dream-də ilk buraxılış
Android 4.0 (ICS)2011Telefonlar və planşetlər üçün vahid dizayn
Android 5.0 (L)2014Material Design, Dalvik əvəzinə ART
Android 6.0 (M)2015İş vaxtı icazələri, Doze rejimi
Android 8.0 (O)2017Kotlin rəsmi dil olaraq
Android 10 (Q)2019Scoped Storage, tünd tema
Android 12 (S)2021Material You, Privacy Dashboard
Android 152024Private Space, peyk əlaqəsi

Android Arxitekturası: Dörd Əsas Qat

Android arxitekturası dörd əsas qatdan ibarətdir və aparat təminatını istifadəçi tətbiqlərindən təcrid edir. Hər bir qat ciddi şəkildə müəyyən edilmiş interfeyslər vasitəsilə aşağıdakı qatın xidmətlərindən istifadə edir.

Linux Nüvəsi və HAL

Alt qat dəyişdirilmiş Linux nüvəsidir (LTS, Android 15-də versiya 6.x). Yaddaşın idarə edilməsi, proseslər, şəbəkə yığını və sürücüləri təmin edir. HAL (Hardware Abstraction Layer) aparatla (kamera, Bluetooth, Wi-Fi, sensorlar) qarşılıqlı əlaqə üçün vahid API təqdim edir. İstehsalçılar yuxarı qatlara təsir etmədən HAL modullarını həyata keçirirlər.

Android Runtime (ART)

ART tətbiqlərin DEX bayt kodunu icra edir. Android 5.0-dən başlayaraq, ART Dalvik-i əvəz etdi və performansı yaxşılaşdırmaq üçün Ahead-of-Time (AOT) kompilyasiyasından istifadə edir. Hər bir tətbiqin ayrı ART instansı ilə öz prosesi var. Zibil yığımı (GC) minimal fasilələrlə işləyir — tipik GC fasiləsi 2–4 ms-dir.

Application Framework

Framework — tərtibatçının birbaşa işlədiyi qatdır. Activity Manager (ekran yığını), Content Providers (məlumat girişi), Resource Manager (lokallaşdırma, resurslar), Notification Manager, Location Manager daxildir. Bütün sistem xidmətləri Binder IPC — Android-in proseslərarası kommunikasiya mexanizmi vasitəsilə çağırılır.

kotlin
// AİDL interfeysi vasitəsilə Binder ilə iş nümunəsi
interface IDataService : android.os.IInterface {
    fun getData(): List<DataItem>
    fun saveData(item: DataItem): Boolean
}

// Xidmətin icrası
class DataService : Service() {
    private val binder = object : IDataService.Stub() {
        override fun getData(): List<DataItem> = repository.getAll()
        override fun saveData(item: DataItem): Boolean = repository.save(item)
    }

    override fun onBind(intent: Intent?): IBinder = binder
}

Sistem Tətbiqləri

Üst qat standart sistem tətbiqlərindən ibarətdir: Telefon, Kontaktlar, Kamera, Parametrlər, Brauzer. Bunların istifadəçi tətbiqlərindən daha yüksək imtiyazları yoxdur, lakin üçüncü tərəf tətbiqləri ilə əvəz edilə bilər. Android 15-də sistem tətbiqləri istehsalçının OTA yeniləmələrindən asılı olmayaraq Google Play System Updates vasitəsilə yenilənir.

Kotlin — Android İnkişafının Əsas Dili

Kotlin — JetBrains tərəfindən statik tipli, JVM-də işləyən proqramlaşdırma dilidir. Google 2017-ci ildə Google I/O-da Kotlin-i rəsmi Android dili elan etdi. Kotlin Java ilə tam uyğundur, lakin onun çatışmazlıqlarını aradan qaldırır: null təhlükəsizliyi, data siniflər, genişləndirmə funksiyaları və korutinlər.

Null Təhlükəsizliyi və Tiplər

Kotlin-in əsas xüsusiyyəti NullPointerException-a qarşı daxili qorunmadır. Tiplər nullable (String?) və non-null (String) olaraq bölünür. Kompilyator qurma vaxtı nullable girişi yoxlayır. Safe call (?.) və Elvis operatoru (?:) iç-içə yoxlamalar olmadan isteğe bağlı dəyərlərlə işi sadələşdirir.

kotlin
// Korutinlər və Flow ilə Kotlin kodu nümunəsi
data class User(
    val id: Long,
    val name: String,
    val email: String
)

class UserRepository(
    private val api: UserApi,
    private val dao: UserDao
) {
    suspend fun getUser(id: Long): Result<User> {
        return try {
            val cached = dao.getUser(id)
            if (cached != null) {
                return Result.success(cached)
            }
            val remote = api.fetchUser(id)
            dao.insertUser(remote)
            Result.success(remote)
        } catch (e: Exception) {
            Result.failure(e)
        }
    }

    fun observeUsers(): Flow<List<User>> {
        return dao.observeAll()
            .map { list -> list.sortedBy { it.name } }
            .flowOn(Dispatchers.Default)
    }
}

Nümunə asinxron şəbəkə və verilənlər bazası girişi üçün korutinləri (suspend funksiyası), məlumat dəyişikliklərinin reaktiv müşahidəsi üçün Flow-u və təhlükəsiz səhv idarəetməsi üçün Result-u göstərir. Korutinlər thread yükü olmadan callback və RxJava-nı əvəz edir.

Kotlin Korutinləri və Flow

Kotlin korutinləri ortaq thread hovuzunda işləyən yüngül thread-lərdir. Şəbəkə və disk üçün Dispatchers.IO, UI üçün Dispatchers.Main, CPU intensiv tapşırıqlar üçün Dispatchers.Default. viewModelScope və lifecycleScope komponent məhv edildikdə korutinləri avtomatik ləğv edir.

kotlin
// Korutinlər və StateFlow ilə ViewModel
class UserViewModel(
    private val repository: UserRepository
) : ViewModel() {

    private val _users = MutableStateFlow<List<User>>(emptyList())
    val users: StateFlow<List<User>> = _users.asStateFlow()

    private val _loading = MutableStateFlow(false)
    val loading: StateFlow<Boolean> = _loading.asStateFlow()

    init {
        viewModelScope.launch {
            repository.observeUsers().collect { userList ->
                _users.value = userList
            }
        }
    }

    fun refresh() {
        viewModelScope.launch {
            _loading.value = true
            repository.getUser(42).onSuccess { user ->
                _users.value = listOf(user)
            }
            _loading.value = false
        }
    }
}

Android Studio və İnkişaf Alətləri

Android Studio — IntelliJ IDEA əsaslı rəsmi IDE, Google tərəfindən hazırlanmışdır. Kod redaktoru, Layout Inspector, cihaz emulyatoru, APK Analyzer, Profiler (CPU, Yaddaş, Şəbəkə, Enerji) və Firebase inteqrasiyası daxildir. Android Studio 2024 (Ladybug) çoxplatformalı KMP rejimi ilə Kotlin 2.0-ı dəstəkləyir.

Android Emulyatoru

Android Emulyatoru aparat sürətləndirilməsi üçün KVM (Linux) və ya Hyper-V (Windows) istifadə edir. GPS, sensorlar, kamera, zənglər və SMS simulyasiyasını dəstəkləyir. Google Pixel 9 Pro API 35 və 8 GB emulyator RAM ilə sınaq üçün tövsiyə olunan konfiqurasiyadır.

Android Profiler və Debug

Profiler real vaxtda CPU yükünü, yaddaş ayrılmasını, şəbəkə sorğularını və enerji istehlakını göstərir. Memory Profiler istinad ağacı vasitəsilə heap boşaltma və sızma analizinə imkan verir. Network Inspector bədən və başlıqlarla bütün HTTP/HTTPS sorğularını qeyd edir. Dərin analiz üçün Android Studio Canary istifadə olunur.

Android Tətbiqinin Komponentləri

Android tətbiqi dörd növ komponentdən ibarətdir, hər birinin öz giriş nöqtəsi və həyat dövrü var. Komponentlər AndroidManifest.xml faylında qeydiyyatdan keçirilir.

KomponentMəqsədGiriş nöqtəsi
Activityİstifadəçi ilə qarşılıqlı əlaqə üçün UI ekranıAction.MAIN və LAUNCHER kateqoriyası ilə Intent
ServiceUI olmadan fon tapşırıqlarının icrasıstartService() və ya bindService()
BroadcastReceiverSistem və ya fərdi hadisələrin qəbuluManifestdə və ya kodda qeydiyyat
ContentProviderStrukturlaşdırılmış məlumatlara girişin idarəsiContentResolver vasitəsilə URI

Activity və Intent

Activity istifadəçi interfeysinin əsas komponentidir. Hər ekran ayrı Activity və ya Activity daxilində Fragmentdir. Ekranlar arasında naviqasiya Intent — hərəkət (ACTION_VIEW, ACTION_SEND) və məlumat (URI) olan obyekt vasitəsilə həyata keçirilir. Jetpack Navigation Graph-da naviqasiya XML-də təsvir olunur.

Service və WorkManager

Service fon tapşırıqlarını yerinə yetirir, lakin Android 8-dən başlayaraq fon xidmətləri məhdudlaşdırılıb. WorkManager zəncirlər, məhdudiyyətlər (məsələn, yalnız şarj zamanı) və çöküşdən sonra yenidən başlatma dəstəyi ilə gecikdirilmiş və zəmanətli fon tapşırıqları üçün tövsiyə olunan kitabxanadır.

Jetpack Compose vs XML Layouts

Jetpack Compose və ənənəvi XML layoutları arasında seçim Android layihəsinə başlayarkən əsas arxitektural qərardır. XML Layouts (RecyclerView, ConstraintLayout, FrameLayout) 2008-ci ildən standartdır. Jetpack Compose 2021-ci ildə deklarativ alternativ olaraq təqdim edilmişdir.

MeyarXML LayoutsJetpack Compose
ParadiqmaƏmr (View ağacı)Deklarativ (@Composable funksiyalar)
Minimum versiyaİstənilən (API 1+)API 21+ (Android 5.0)
LayoutXML + data binding / ViewBindingModifier ilə Kotlin kodu
RecyclerView analoquRecyclerView + Adapter + ViewHolderLazyColumn / LazyGrid
Ön baxışAndroid Studio-da XML ön baxışİnteraktivliklə @Preview annotasiyası
Yenidən birləşmənotifyDataSetChanged (tam)Avtomatik, dənəvər (DiffUtil)
İnteroperabillikTam (bütün kitabxanalar)XML-də ComposeView / Compose-da AndroidView

Google bütün yeni layihələr üçün Jetpack Compose-u tövsiyə edir. XML Layouts köhnə layihələrin dəstəyi və maksimum View fərdiləşdirilməsi (Canvas, SurfaceView) tələb olunan hallar üçün aktual qalır. Compose kodu ekvivalent XML + ViewBinding-dən orta hesabla 40% qısadır.

kotlin
// Jetpack Compose — istifadəçi profil ekranı
@Composable
fun ProfileScreen(
    user: User,
    onEditClick: () -> Unit,
    modifier: Modifier = Modifier
) {
    Column(
        modifier = modifier
            .fillMaxSize()
            .padding(16.dp),
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        AsyncImage(
            model = user.avatarUrl,
            contentDescription = "İstifadəçi avatari",
            modifier = Modifier
                .size(120.dp)
                .clip(CircleShape)
        )

        Spacer(modifier = Modifier.height(16.dp))

        Text(
            text = user.name,
            style = MaterialTheme.typography.headlineMedium
        )

        Text(
            text = user.email,
            style = MaterialTheme.typography.bodyLarge,
            color = MaterialTheme.colorScheme.onSurfaceVariant
        )

        Spacer(modifier = Modifier.height(24.dp))

        Button(onClick = onEditClick) {
            Icon(Icons.Default.Edit, contentDescription = null)
            Spacer(modifier = Modifier.width(8.dp))
            Text("Profili redaktə et")
        }
    }
}

@Preview(showBackground = true, showSystemUi = true)
@Composable
fun ProfileScreenPreview() {
    MaterialTheme {
        ProfileScreen(
            user = User(1, "Anna Petrova", "anna@example.com"),
            onEditClick = {}
        )
    }
}

ProfileScreen funksiyası @Composable olaraq elan edilir — View instansları yaratmadan UI-ı deklarativ təsvir edir. Compose user dəyişdikdə ekranı avtomatik yeniləyir. @Preview qurma və emulyatorda işə salmadan birbaşa IDE-də nəticəni göstərir.

Activity və Fragment Həyat Dövrü

Android-də hər Activity altı həyat dövrü vəziyyətindən keçir: onCreate, onStart, onResume, onPause, onStop, onDestroy. Fragment onAttach, onCreateView, onViewCreated əlavə edir. Həyat dövrünü başa düşmək yaddaş idarəçiliyi və sızmaların qarşısını almaq üçün vacibdir.

Activity-nin Əsas Vəziyyətləri

onCreate — Activity yaradıldıqda bir dəfə çağırılır. Burada başlatma aparılır: setContentView, adapter qurulumu, LiveData abunəliyi. onResume — Activity ön plandadır və istifadəçi ilə qarşılıqlı əlaqədədir. onPause — Activity fokusunu itirir (dialoq, başqa Activity). onStop — Activity görünmür. onDestroy — Activity məhv edilir.

kotlin
// LifecycleScope vasitəsilə həyat dövrü idarəçiliyi ilə Activity
class MainActivity : ComponentActivity() {
    private val viewModel: UserViewModel by viewModels()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            MaterialTheme {
                lifecycleScope.launch {
                    repeatOnLifecycle(Lifecycle.State.STARTED) {
                        viewModel.users.collect { users ->
                            updateUi(users)
                        }
                    }
                }
            }
        }
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        outState.putString("last_search", searchQuery)
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        searchQuery = savedInstanceState.getString("last_search", "")
    }
}

repeatOnLifecycle istifadəsi Activity fon keçdikdə məlumat toplamanın dayanmasını və ön plana qayıtdıqda davam etməsini təmin edir. Bu sızmaların və lazımsız şəbəkə sorğularının qarşısını alır. onSaveInstanceState ekran dönməsində müvəqqəti vəziyyəti saxlayır.

Google Play: Dərc və Tələblər

Google Play rəsmi Android tətbiq mağazasıdır. Tərtibatçı hesabı qeydiyyatı $25 birdəfəlikdir. Hər bir tətbiq zərərli kod, siyasət pozuntuları və yanlış icazə istifadəsi üçün avtomatik Google Play Integrity yoxlamasından keçir.

Dərc Tələbləri

Google Android App Bundle (AAB) və ya APK vasitəsilə tətbiq imzalanmasını tələb edir. AAB hər bir cihaz konfiqurasiyası üçün optimallaşdırılmış APK yaratmağa imkan verən tövsiyə olunan formatdır. Tətbiq etibarlı sertifikatla açar (keystore) ilə imzalanmalıdır. Google Play App Signing Google tərəfində isteğe bağlı açar şifrələməsidir.

Məxfilik Siyasəti

Şəxsi məlumatlara giriş tələb edən bütün tətbiqlər Məxfilik Siyasəti təqdim etməlidir. 2024-cü ildən Google toplanan məlumat növlərini və emal məqsədlərini göstərən Data Safety bəyannaməsi tələb edir. Android 14+ hədəfləyən tətbiqlər icazələri bəyan etmək üçün Declarations API istifadə etməlidir.

TələbTəsvir
Android App BundleOptimallaşdırılmış çatdırılma üçün AAB formatı
Data SafetyŞəxsi məlumatların toplanması və emalı haqqında form
Hədəf SDKTətbiq ən son Android API səviyyəsini hədəfləməlidir
Məzmun ReytinqiYaş reytinqi sorğu vərəqi
Mağaza SiyahısıAd, işarə, ekran görüntüləri, təsvir

Tez-tez verilən suallar

Android inkişafı üçün hansı dil daha yaxşıdır?

Kotlin — Google tərəfindən Android üçün rəsmi tövsiyə olunan dil. Java da köhnə layihələr üçün dəstəklənir. Kotlin null təhlükəsizliyi, korutinlər və genişləndirmə funksiyaları təklif edir, Java ilə müqayisədə kod həcmini 30–40% azaldır.

Nə seçməli: Jetpack Compose yoxsa XML Layouts?

Jetpack Compose deklarativ sintaksisi və avtomatik yenidən birləşmə optimallaşdırması sayəsində bütün yeni layihələr üçün tövsiyə olunur. XML Layouts köhnə layihələrdə və Canvas və ya SurfaceView-in dəqiq fərdiləşdirilməsi tələb olunan hallarda qalır.

Google Play-də dərc nə qədərdir?

Google Play tərtibatçı qeydiyyatı $25 birdəfəlikdir. Mağaza komissiyası ilk $1 milyon gəlir üçün 15%, sonra 30%-dir. Abunəliklər üçün komissiya ilk gündən 15%-dir. Apple Developer Program-dan fərqli olaraq illik ödəniş yoxdur.

Android Jetpack nədir?

Android Jetpack rəsmi SDK-ya daxil olan Google kitabxanaları dəstidir: Navigation, Room (kompilyasiya vaxtı sorğu yoxlaması ilə SQLite ORM), WorkManager (zəmanətli fon tapşırıqları), ViewModel (vəziyyət idarəçiliyi), LiveData və StateFlow reaktivlik üçün.

Android tətbiqi üçün minimum tələblər nədir?

Yeni layihələr üçün dəstəklənən minimum versiya API 24 (Android 7.0)-dür. AndroidManifest.xml tətbiq komponentlərini və icazələrini təsvir edir. APK/AAB keystore ilə imzalanır. Hədəf SDK dərc zamanı ən son API səviyyəsinə uyğun olmalıdır.

Xülasə

  • Android — Linux nüvəsində açıq mobil OS, 72% qlobal bazar payı və istehsalçı fərdiləşdirmə seçimləri
  • Kotlin — null təhlükəsizliyi, korutinlər və 100% Java uyğunluğu ilə əsas Android inkişaf dili
  • Android Arxitekturası dörd qat üzərində qurulub: Linux nüvəsi, HAL, Android Runtime, Application Framework
  • Activity, Service, BroadcastReceiver, ContentProvider — manifestdə qeydiyyatdan keçmiş dörd komponent
  • Jetpack Compose — avtomatik yenidən birləşmə ilə Google tərəfindən tövsiyə olunan deklarativ UI framework
  • Google Play — birdəfəlik $25 ödəniş, AAB formatı, məcburi Data Safety və Məxfilik Siyasəti
  • WorkManager — icra zəmanətləri və məhdudiyyətlərlə fon tapşırıqları üçün tövsiyə olunan API

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun