SDK Platform: bu nədir, versiyalar və Android SDK Manager

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

SDK Platform Android — müəyyən bir əməliyyat sistemi versiyası üçün kitabxanalar, sistem obrazları və alətlər dəstidir. Hər bir platforma öz API Level-inə bağlıdır və Android API sinifləri ilə android.jar, runtime komponentləri və emulator daxildir. Google Developer Documentation, 2026-ya görə, tərtibatçılar SDK Platform-dan kodu hədəf OS versiyasına qarşı kompilyasiya etmək üçün istifadə edirlər. Quraşdırılmış platforma olmadan APK yığmaq və ya emulatorda tətbiqi işə salmaq mümkün deyil. SDK Manager bu komponentlərin yüklənməsini, yenilənməsini və silinməsini idarə edir.

Əsas məqamlar

  • SDK Platform — müəyyən bir API Level-ə uyğun gələn bir Android versiyası üçün kitabxanalar və alətlər dəsti.
  • API Level — mövcud sinifləri və metodları müəyyən edən Android SDK versiyasının rəqəm identifikatoru.
  • SDK Manager — SDK Platform, Tools və sistem obrazlarının quraşdırılması, yenilənməsi və silinməsi üçün alət.
  • compileSdk — tətbiqin kompilyasiyası üçün istifadə olunan SDK Platform versiyası, ən yeni stabil olmalıdır.
  • targetSdk — tətbiqin sınaqdan keçirildiyi və runtime davranışının optimallaşdırıldığı API Level.

SDK Platform nədir

SDK Platform — Android SDK-nın əsas komponentidir, müəyyən bir Android versiyası altında tətbiqlər hazırlamaq üçün kitabxanalar və alətlərin tam dəstini təqdim edir. Hər bir platforma API Level ilə identifikasiya olunur — yeni OS versiyaları çıxdıqca artan tam ədəd. Məsələn, Android 13 API Level 33-ə, Android 14 API Level 34-ə, Android 15 API Level 35-ə uyğundur.

Android Studio-dan (IDE) fərqli olaraq, SDK Platform kod redaktoru və ya debugger ehtiva etmir. Bu, kompilyator və builder-ə qoşulan sistem qatıdır. Tərtibatçı import android.app.Activity yazdıqda, kompilyator bu sinfi müəyyən SDK Platform-un android.jar faylından götürür. Lazımi API Level ilə platforma quraşdırılmadıqda, kod kompilyasiya olunmayacaq.

Google hər stabil Android versiyası üçün yeni SDK Platform buraxır. Tarix 35-dən çox API Level-i əhatə edir — Android 1.0 (API 1)-dən Android 15 (API 35)-ə qədər. Hər bir platforma geriyə uyğundur: API Level 21 üçün yazılmış kod API Level 35-də işləyəcək, lakin əksi mümkün deyil.

Niyə hər versiya üçün ayrıca SDK Platform lazımdır

Android sürətlə inkişaf edir: hər versiya yeni API-lər əlavə edir, mövcud olanların davranışını dəyişir və məhdudiyyətlər tətbiq edir. Məsələn, Android 10 (API 29) Scoped Storage tətbiq etdi, Android 12 (API 31) — SplashScreen API, Android 14 (API 34) — məcburi BroadcastReceiver bayraqları. Tərtibatçı bu imkanlardan istifadə etmək üçün tətbiqi aktual platformaya qarşı yığmalıdır.

Eyni zamanda tətbiq köhnə OS versiyalarında işləyə bilər. Bunun üçün Gradle-də minSdk — tətbiqin işə düşdüyü minimum API Level göstərilir. Kod versiya yoxlamaları və şərti API çağırışlarından istifadə edir. Bu yanaşma yeni funksiyaları itirmədən uyğunluğu təmin edir.

Android versiyasıAPI LevelKod adıBuraxılış ili
Android 1231Snow Cone2021
Android 1333Tiramisu2022
Android 1434Upside Down Cake2023
Android 1535Vanilla Ice Cream2024

SDK Platform-un tərkibi: əsas komponentlər

SDK Platform — tək fayl deyil, birlikdə tətbiqin kompilyasiyasını, yığılmasını və sınaqdan keçirilməsini təmin edən komponentlər dəstidir. Əsas element android.jar — bu versiyaya daxil olan Android API sinifləri ilə arxivdir. Bu fayl Kotlin və ya Java kompilyatoruna qoşulur və tərtibatçı üçün hansı siniflərin, metodların və annotasiyaların mövcud olduğunu müəyyən edir.

Sistem obrazları və emulator

Hər SDK Platform Android Virtual Device emulatoru üçün System Image — əməliyyat sistemi obrazı daxildir. Müvafiq obraz olmadan emulator lazımi API Level ilə virtual cihazı işə sala bilməz. System Images müxtəlif növlərdə olur: Google APIs (Google xidmətləri ilə), Google Play (Play Store ilə) və AOSP (Google xidmətləri olmadan təmiz Android).

Yığım və debug alətləri

SDK Platform müəyyən API Level üçün optimallaşdırılmış Build-Tools və Platform-Tools versiyasını ehtiva edir. Build-Tools aapt2 (Android Asset Packaging Tool), dx/d8 (Dalvik/ART kompilyatoru) və ApkSigner daxildir. Platform-Tools ADB (Android Debug Bridge), fastboot və SQLite təmin edir. Bu alətlər SDK Platform-dan asılı olmayaraq SDK Manager vasitəsilə yenilənir.

Platforma resursları

Hər platforma standart Android resurslarını — sistem mövzuları, stillər, animasiyalar, rənglər və ölçüləri ehtiva edir. Bu resurslar kompilyasiya zamanı istifadə olunur: tərtibatçı @android:style/Theme.Material.Light-ə istinad etdikdə, yığıcı tərifi SDK Platform resurslarından götürür. Bu, bütün cihazlarda sistem komponentlərinin vahid görünüşünü təmin edir.

KomponentTəsvirÖlçü (təxminən)
android.jarKompilyasiya üçün Android API kitabxanaları50–120 MB
System ImageEmulator üçün OS obrazı600–1500 MB
Build-ToolsAPK və AAB yığım alətləri200–400 MB
Platform ResourcesSistem resursları (mövzular, stillər)30–80 MB
SkinsEmulator üçün cihaz profilləri10–50 MB

API Level və SDK Platform versiyaları

API Level — Android SDK versiyasının tam ədədli identifikatorudur. Hər Android buraxılışına monoton şəkildə artan bir API Level uyğun gəlir. Tərtibatçı API Level-i build.gradle faylında üç əsas parametrdə göstərir: compileSdk, minSdk və targetSdk. Bu parametrlərin seçimindən hansı API-lərin mövcud olduğu və sistemin tətbiqi necə idarə etdiyi asılıdır.

Google minSdk səviyyəsini cari yayılma həddindən aşağı olmayaraq saxlamağı tövsiyə edir — Android Studio Distribution Dashboard (2026)-ya görə, cihazların təxminən 95%-i Android 8.0 (API 26) və daha yuxarı versiyalarda işləyir. compileSdk ən son stabil olmalıdır — bu, yeni API-lərə giriş verir və lint yoxlamalarına köhnəlmiş metodları aşkar etməyə imkan verir.

API Level təkamülü: əsas dəyişikliklər

Hər yeni API Level ilə Google əhəmiyyətli dəyişikliklər tətbiq edir. Android 6.0 (API 23) runtime icazələri əlavə etdi — tətbiq icazələri quraşdırma zamanı deyil, iş zamanı tələb edir. Android 8.0 (API 26) formaların avtomatik doldurulmasını və bildiriş kanallarını tətbiq etdi. Android 12 (API 31) intent-lərə yanaşmanı kökündən dəyişdirdi — SplashScreen API və exported atributu vasitəsilə komponentlərin ixracı meydana çıxdı. Android 14 (API 34) BroadcastReceiver üçün bayraqların göstərilməsini məcburi etdi və foreground services üçün ciddi məhdudiyyətlər tətbiq etdi.

API Level tarixini başa düşmək tərtibatçıya düzgün uyğunluq strategiyasını seçməyə kömək edir. Tətbiq compileSdk 35, lakin minSdk 26 istifadə edirsə, kod API 35 metodlarını yalnız Build.VERSION.SDK_INT vasitəsilə versiya yoxlamasından sonra çağıra bilər. Bu yanaşma version-gated development adlanır və sənaye standartıdır.

AndroidAPIİlƏsas yenilik
6.0 Marshmallow232015Runtime icazələri
8.0 Oreo262017Bildiriş kanalları, Autofill
10292019Scoped Storage, Dark Theme
12312021SplashScreen, exported atributu
14342023Broadcast bayraqları, Foreground Services

SDK Manager: quraşdırma və konfiqurasiya

SDK Manager — Android SDK komponentlərini idarə etmək üçün alətdir: yeni SDK Platform-ların quraşdırılması, mövcud olanların yenilənməsi və köhnəlmişlərin silinməsi. SDK Manager həm Android Studio-da qrafik interfeys kimi, həm də sdkmanager vasitəsilə komanda sətri rejimində mövcuddur. Komanda sətri vasitəsilə SDK Manager qrafik interfeysi olmayan CI/CD pipeline-larında istifadə üçün əlverişlidir.

SDK Manager platformaları Android SDK kataloqunda quraşdırır, standart olaraq Linux və macOS-da $HOME/Android/Sdk, Windows-da isə %LOCALAPPDATA%\Android\Sdk ünvanında yerləşir. platforms kataloqunun daxilində android-{API Level} formatında qovluqlar var, hər biri tam SDK Platform ehtiva edir.

sdkmanager vasitəsilə SDK Platform quraşdırılması

sdkmanager əmri "platforms;android-{API}" formatında paket identifikatoru qəbul edir. Məsələn, SDK Platform 35 quraşdırmaq üçün əmr belə görünür:

bash
# API Level 35 üçün SDK Platform quraşdır
sdkmanager "platforms;android-35"

# Bir əmrlə bir neçə platforma quraşdır
sdkmanager "platforms;android-34" "platforms;android-33" "platforms;android-31"

# Quraşdırılmış platformaların siyahısı
sdkmanager --list_installed | grep platforms

# Köhnəlmiş platformanı sil
sdkmanager --uninstall "platforms;android-28"

Gradle vasitəsilə avtomatik quraşdırma

Müasir Android layihələri ilk yığım zamanı SDK Platform-u avtomatik quraşdıra bilən Gradle Plugin istifadə edir. Bunun üçün build.gradle-da compileSdk göstərmək və yerli konfiqurasiyada SDK kataloqunu əlavə etmək lazımdır. Android Studio da layihəni açarkən çatışmayan platformanı quraşdırmağı təklif edir — Gradle sinxronizasiya pəncərəsində "Install SDK Platform" düyməsini sıxmaq kifayətdir.

SDK Platform-u SDK Manager vasitəsilə mütəmadi yeniləmək vacibdir — platforma ilə birlikdə Build-Tools və Platform-Tools da yenilənir, bu da yığım performansına və debug sabitliyinə təsir göstərir. Google SDK yeniləmələrini hər 2-3 həftədən bir yoxlamağı tövsiyə edir, xüsusilə Google Play-də yeni tətbiq versiyasını dərc etməzdən əvvəl.

Emulator üçün sistem obrazının konfiqurasiyası

Müəyyən API Level ilə emulatoru işə salmaq üçün eyni versiyanın System Image-ni quraşdırmaq lazımdır. SDK Manager müxtəlif arxitekturaların (x86_64, arm64-v8a) və növlərin (Google APIs, Google Play, AOSP) obrazlarını endirməyə imkan verir. Obraz endirildikdən sonra AVD Manager onun əsasında virtual cihaz yaradır.

bash
# API 35 üçün Google APIs ilə System Image quraşdır
sdkmanager "system-images;android-35;google_apis;x86_64"

# Komanda sətri vasitəsilə AVD yarat
avdmanager create avd -n pixel8 -k "system-images;android-35;google_apis;x86_64"

# Yaradılmış AVD siyahısı
avdmanager list avd

Gradle-də compileSdk, targetSdk və minSdk

Üç parametr build.gradle faylında tətbiqin SDK Platform ilə işini müəyyən edir. compileSdk — kompilyasiya üçün istifadə olunan API Level. Bu parametr kodda hansı Android API siniflərinin mövcud olduğunu göstərir. compileSdk hər üçü arasında ən yeni olmalıdır və runtime davranışına təsir göstərmir — tətbiq kompilyasiya olunur, ancaq yalnız cihazda olan API-lərdən istifadə edir.

minSdk — tətbiqin quraşdırıla biləcəyi minimum API Level. Google Play tətbiqi minSdk-dən aşağı versiyalı cihazda quraşdırmağa icazə verməyəcək. Bu parametr uyğunluq həddini müəyyən edir və auditoriya əhatəsini təsir edir. minSdk nə qədər aşağı olarsa, bir o qədər çox cihaz dəstəklənir, lakin yoxlama olmadan daha az yeni API istifadə etmək olar.

targetSdk — tətbiqin sınaqdan keçirildiyi API Level. Android sistemi davranış dəyişikliklərini tətbiq etmək üçün targetSdk istifadə edir: tətbiq yeni API Level-ə yenilənməyibsə, sistem köhnə versiyalar üçün uyğunluq rejimini aktivləşdirir. Google Play müəyyən səviyyədən aşağı olmayan targetSdk tələb edir — 2026-cı il üçün bu API 34-dür (Android 14).

Gradle konfiqurasiya nümunəsi

groovy
android {
    compileSdk 35

    defaultConfig {
        applicationId "com.example.app"
        minSdk 26
        targetSdk 35
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

// Android SDK versiyası SDK Manager vasitəsilə quraşdırılmalıdır
// sdkmanager "platforms;android-35"

compileSdk, minSdk və targetSdk necə seçilməlidir

Seçim strategiyası layihənin məqsədlərindən asılıdır. Yeni tətbiq üçün: compileSdk — ən son stabil (2026-cı ilin əvvəlinə 35), minSdk — API 26 (Android 8.0, cihazların 95%-ni əhatə edir), targetSdk — ən son stabil. Mövcud tətbiqi yeniləmək üçün: compileSdk dərhal qaldırın, targetSdk — bütün davranış dəyişiklikləri sınaqdan keçirildikdən sonra, minSdk — yalnız köhnəlmiş cihazlardan imtina etmək zərurəti yarandıqda.

Google targetSdk-nin yeni Android versiyası çıxdıqdan sonra bir il ərzində yenilənməsini tələb edir. Bu tələbə cavab verməyən tətbiqlər Google Play-də yeniləmələr dərc edə bilməz. Son tarixləri izləmək üçün rəsmi Android OS yeniləmə təqvimindən istifadə edin.

ParametrTəyinatTövsiyə
compileSdkKompilyasiya üçün API versiyasıƏn son stabil
minSdkMinimum dəstəklənən versiya95% əhatə üçün API 26
targetSdkDavranış dəyişiklikləri üçün versiyaƏn son stabil + sınaq

Kodda SDK Platform ilə iş nümunələri

Müxtəlif Android versiyaları altında tətbiqlər hazırlayarkən API-lərin mövcudluğunu nəzərə almaq lazımdır. Tətbiq compileSdk 35 istifadə edir, lakin API 31 olan cihazda işləyirsə, API 34-də əlavə edilmiş metodların çağırılması NoSuchMethodError və ya AbstractMethodError-a səbəb olacaq. Yeni API-lərin təhlükəsiz çağırılması üçün Build.VERSION.SDK_INT vasitəsilə versiya yoxlamaları tətbiq edilir.

Runtime-da API Level yoxlanılması

kotlin
class FeatureChecker {
    fun registerNotificationChannel(context: Context) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            // Notification channels API 26-dan etibarən mövcuddur
            val channel = NotificationChannel(
                "updates",
                "Yeniləmələr",
                NotificationManager.IMPORTANCE_DEFAULT
            )
            val manager = context.getSystemService(NotificationManager::class.java)
            manager.createNotificationChannel(channel)
        }
    }
}

@RequiresApi ilə yeni API-lərin istifadəsi

Yalnız müəyyən versiyalarda çağırılan metodlar üçün @RequiresApi annotasiyasından istifadə edin. Bu, lint yoxlamalarına metodun təhlükəsiz olduğunu bildirir və xəbərdarlıqları söndürür. SDK_INT yoxlaması ilə birlikdə annotasiya kodu daha təmiz və rəyçilər üçün daha başa düşülən edir.

kotlin
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
fun scheduleExactAlarm(manager: AlarmManager, time: Long) {
    // API 34: SCHEDULE_EXACT_ALARM bayrağı ilə scheduleExact
    if (manager.canScheduleExactAlarms()) {
        manager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent)
    } else {
        // SCHEDULE_EXACT_ALARM icazəsini tələb edirik
        val intent = Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM)
        context.startActivity(intent)
    }
}

fun safeScheduleAlarm(context: Context, triggerTime: Long) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
        scheduleExactAlarm(getAlarmManager(context), triggerTime)
    } else {
        // İcazə yoxlaması olmadan köhnə setExact metodu
        getAlarmManager(context).setExact(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent)
    }
}

Quraşdırılmış SDK Platform-un müəyyən edilməsi

Bəzən tərtibatçı cihazında və ya CI-da hansı SDK Platform versiyasının quraşdırıldığını öyrənmək lazım olur. Bunu ADB vasitəsilə və ya tətbiq kodunda proqramlı şəkildə etmək olar. Cihazın API Level-ni bilmək version-specific davranışı sınaqdan keçirərkən kömək edir.

kotlin
fun logDeviceInfo() {
    with (Build.VERSION) {
        Log.d("SDK_Demo", "SDK_INT: $SDK_INT")
        Log.d("SDK_Demo", "RELEASE: $RELEASE")
        Log.d("SDK_Demo", "CODENAME: $CODENAME")
        Log.d("SDK_Demo", "PREVIEW_SDK_INT: $PREVIEW_SDK_INT")
    }
    // Nəticə: SDK_INT: 35, RELEASE: 15, CODENAME: REL
}

Tez-tez verilən suallar

SDK Platform Android Studio-dan nə ilə fərqlənir?

Android Studio IDE-dir, SDK Platform isə kompilyasiya üçün kitabxanalar və alətlər dəstidir. Studio tətbiqləri yığmaq üçün SDK Platform-dan istifadə edir, lakin platformalar SDK Manager vasitəsilə ayrıca endirilir və Studio versiyasından asılı olmayaraq yenilənə bilər.

Neçə SDK Platform quraşdırmaq lazımdır?

Adətən üç versiya kifayətdir: ən yeni (compileSdk), minimal (minSdk) və sınaq üçün bir aralıq versiya. SDK Manager ehtiyaca uyğun platformaları asanlıqla əlavə etməyə və silməyə imkan verir. Tərtibatçılar orta hesabla iş kompüterində 3-5 platforma saxlayırlar.

Yeni API-lər üçün köhnə SDK Platform istifadə etmək olarmı?

Xeyr. Hər SDK Platform yalnız öz versiyasının API-lərini ehtiva edir. API 35-dən metodları çağırmaq üçün android-35 platforması lazımdır. Köhnə platforma quraşdırıldıqda yeni compileSdk göstərmək kompilyasiya xətasına səbəb olacaq.

SDK Platform yeniləmələri nədir?

Google hər versiya üçün SDK Platform yeniləmələri buraxır: səhv düzəlişləri, yeni API-lər, performans yaxşılaşdırmaları. SDK Manager mövcud yeniləmələr barədə xəbərdarlıq edir. Stabil yığım üçün platformanın ən son reviziyasını quraşdırmaq tövsiyə olunur.

SDK Platform-lar diskdə harada saxlanılır?

Standart olaraq hər SDK Platform Android/Sdk/platforms/android-{API} kataloqunda 200-800 MB yer tutur. Qovluğun daxilində android.jar, resurslarla data qovluğu və emulator və yığım üçün konfiqurasiya faylları yerləşir.

Nəticə

  • SDK Platform — müəyyən API Level-ə uyğun gələn bir Android versiyası üçün kitabxanalar və alətlər dəsti.
  • API Level — mövcud sinifləri, metodları və sistem davranışını müəyyən edən rəqəm identifikatoru.
  • SDK Manager — SDK Platform, System Images və Build-Tools-un GUI və ya komanda sətri vasitəsilə quraşdırılması və yenilənməsi üçün alət.
  • build.gradle faylında compileSdk, minSdk və targetSdk parametrləri kompilyasiya üçün platforma versiyasını və uyğunluğu idarə edir.
  • Köhnə cihazlarda yeni API-ləri çağırmaq üçün Build.VERSION.SDK_INT yoxlamalarından və @RequiresApi annotasiyasından istifadə edin.
  • Google Google Play-də dərc üçün targetSdk-nin yeni Android versiyası çıxdıqdan sonra bir il ərzində yenilənməsini tələb edir.
  • SDK Platform-un SDK Manager vasitəsilə müntəzəm yenilənməsi yeni API-lərə, düzəlişlərə və performans yaxşılaşdırmalarına girişi təmin edir.

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