SDK Platform Android — ay isang koleksyon ng mga library, system image, at tool para sa isang partikular na bersyon ng operating system. Ang bawat platform ay nakatali sa sarili nitong API Level at may kasamang android.jar na may mga klase ng Android API, runtime component, at emulator. Ayon sa Google Developer Documentation, 2026, ginagamit ng mga developer ang SDK Platform para i-compile ang code laban sa target na bersyon ng OS. Kung walang naka-install na platform, hindi posible na bumuo ng APK o patakbuhin ang app sa emulator. SDK Manager ang namamahala sa pag-download, pag-update, at pagtanggal ng mga component na ito.
Mga Pangunahing Punto
SDK Platform — ay isang pangunahing component ng Android SDK, na kumakatawan sa isang kumpletong set ng mga library at tool para sa pag-develop ng mga app sa ilalim ng isang partikular na bersyon ng Android. Ang bawat platform ay tinutukoy ng API Level — isang integer na tumataas sa paglabas ng mga bagong bersyon ng OS. Halimbawa, ang Android 13 ay tumutugma sa API Level 33, Android 14 — API Level 34, Android 15 — API Level 35.
Hindi tulad ng Android Studio (IDE), ang SDK Platform ay hindi naglalaman ng code editor o debugger. Ito ay isang system layer na kumokonekta sa compiler at builder. Kapag ang developer ay sumulat ng import android.app.Activity, kinukuha ng compiler ang klase na ito mula sa android.jar ng partikular na SDK Platform. Kung walang naka-install na platform na may kinakailangang API Level, hindi magko-compile ang code.
Ang Google ay naglalabas ng bagong SDK Platform para sa bawat stable na bersyon ng Android. Ang kasaysayan ay sumasaklaw ng higit sa 35 API Level — mula sa Android 1.0 (API 1) hanggang Android 15 (API 35). Ang bawat platform ay backward compatible: ang code na isinulat para sa API Level 21 ay gagana sa API Level 35, ngunit hindi ang kabaligtaran.
Ang Android ay mabilis na umuunlad: bawat bersyon ay nagdaragdag ng mga bagong API, nagbabago ng behavior ng mga umiiral na, at nagpapakilala ng mga paghihigpit. Halimbawa, Android 10 (API 29) ay nagpakilala ng Scoped Storage, Android 12 (API 31) — SplashScreen API, Android 14 (API 34) — mandatoryong BroadcastReceiver flag. Ang developer ay dapat bumuo ng app laban sa kasalukuyang platform upang magamit ang mga kakayahang ito.
Kasabay nito, ang app ay maaaring tumakbo sa mga lumang bersyon ng OS. Para dito, sa Gradle ay tinutukoy ang minSdk — ang pinakamababang API Level kung saan tumatakbo ang app. Ang code ay gumagamit ng mga version check at conditional API calls. Ang pamamaraang ito ay nagsisiguro ng compatibility nang hindi nawawala ang mga bagong feature.
| Bersyon ng Android | API Level | Code name | Taon ng paglabas |
|---|---|---|---|
| Android 12 | 31 | Snow Cone | 2021 |
| Android 13 | 33 | Tiramisu | 2022 |
| Android 14 | 34 | Upside Down Cake | 2023 |
| Android 15 | 35 | Vanilla Ice Cream | 2024 |
Ang SDK Platform — ay hindi isang file, kundi isang set ng mga component na magkakasamang nagbibigay-daan sa pag-compile, pag-build, at pag-test ng app. Ang pangunahing elemento ay android.jar — isang archive na may mga klase ng Android API na kasama sa bersyong ito. Ang file na ito ay kumokonekta sa Kotlin o Java compiler at tinutukoy kung anong mga klase, metodo, at annotation ang available sa developer.
Ang bawat SDK Platform ay may kasamang System Image — image ng operating system para sa Android Virtual Device emulator. Kung walang kaukulang image, hindi magagawang simulan ng emulator ang isang virtual device na may kinakailangang API Level. Ang System Images ay may iba't ibang uri: Google APIs (may mga serbisyo ng Google), Google Play (may Play Store) at AOSP (purong Android na walang serbisyo ng Google).
Ang SDK Platform ay may kasamang bersyon ng Build-Tools at Platform-Tools na na-optimize para sa API Level na ito. Ang Build-Tools ay naglalaman ng aapt2 (Android Asset Packaging Tool), dx/d8 (Dalvik/ART compiler) at ApkSigner. Ang Platform-Tools ay nagbibigay ng ADB (Android Debug Bridge), fastboot at SQLite. Ang mga tool na ito ay ina-update nang hiwalay sa SDK Platform sa pamamagitan ng SDK Manager.
Ang bawat platform ay may kasamang standard na Android resources — system theme, style, animation, kulay, at laki. Ang mga resources na ito ay ginagamit sa pag-compile: kung ang developer ay tumutukoy sa @android:style/Theme.Material.Light, kinukuha ng builder ang definition mula sa SDK Platform resources. Ito ay ginagarantiyahan ang pare-parehong hitsura ng mga system component sa lahat ng device.
| Component | Deskripsyon | Sukat (tinatayang) |
|---|---|---|
| android.jar | Android API library para sa pag-compile | 50–120 MB |
| System Image | Image ng OS para sa emulator | 600–1500 MB |
| Build-Tools | Mga tool sa pag-build ng APK at AAB | 200–400 MB |
| Platform Resources | System resources (theme, style) | 30–80 MB |
| Skins | Mga profile ng device para sa emulator | 10–50 MB |
API Level — ay isang integer identifier ng bersyon ng Android SDK. Ang bawat release ng Android ay may isang API Level na monotonically tumataas. Tinutukoy ng developer ang API Level sa tatlong pangunahing parameter ng build.gradle: compileSdk, minSdk, at targetSdk. Ang pagpili ng mga parameter na ito ay nagdidikta kung aling mga API ang available at kung paano pinoproseso ng system ang app.
Inirerekomenda ng Google na panatilihin ang minSdk na hindi mas mababa sa kasalukuyang threshold ng distribusyon — ayon sa Android Studio Distribution Dashboard (2026), humigit-kumulang 95% ng mga device ay tumatakbo sa Android 8.0 (API 26) at mas mataas. Ang compileSdk ay dapat ang pinakabagong stable — nagbibigay ito ng access sa mga bagong API at pinapayagan ang lint checks na matukoy ang mga lumang metodo.
Sa bawat bagong API Level, ang Google ay nagpapakilala ng makabuluhang pagbabago. Ang Android 6.0 (API 23) ay nagdagdag ng runtime permissions — ang app ay humihingi ng pahintulot sa runtime, hindi sa pag-install. Ang Android 8.0 (API 26) ay nagpakilala ng auto-fill ng forms at notification channels. Android 12 (API 31) ay radikal na nagbago ng approach sa intents — lumitaw ang SplashScreen API at pag-export ng component sa pamamagitan ng exported attribute. Android 14 (API 34) ay nag-mandate ng pagtukoy ng mga flag para sa BroadcastReceiver at nagpakilala ng mahigpit na limitasyon sa foreground services.
Ang pag-unawa sa kasaysayan ng API Level ay tumutulong sa developer na pumili ng tamang compatibility strategy. Kung ang app ay gumagamit ng compileSdk 35 ngunit minSdk 26, ang code ay maaaring tumawag ng mga metodo ng API 35 pagkatapos lamang ng version check sa pamamagitan ng Build.VERSION.SDK_INT. Ang approach na ito ay tinatawag na version-gated development at ito ang pamantayan ng industriya.
| Android | API | Taon | Pangunahing inobasyon |
|---|---|---|---|
| 6.0 Marshmallow | 23 | 2015 | Runtime permissions |
| 8.0 Oreo | 26 | 2017 | Notification channels, Autofill |
| 10 | 29 | 2019 | Scoped Storage, Dark Theme |
| 12 | 31 | 2021 | SplashScreen, exported attribute |
| 14 | 34 | 2023 | Broadcast flags, Foreground Services |
SDK Manager — ay isang tool para sa pamamahala ng mga component ng Android SDK: pag-install ng mga bagong SDK Platform, pag-update ng mga umiiral na, at pagtanggal ng mga luma. Ang SDK Manager ay available bilang graphical interface sa Android Studio at command line sa pamamagitan ng sdkmanager. Sa pamamagitan ng command line, ang SDK Manager ay maginhawang gamitin sa CI/CD pipelines kung saan walang graphical interface.
Ang SDK Manager ay nag-i-install ng mga platform sa direktoryo ng Android SDK, na bilang default ay nasa $HOME/Android/Sdk sa Linux at macOS o %LOCALAPPDATA%\Android\Sdk sa Windows. Sa loob ng direktoryo ng platforms ay may mga folder na pinangalanang android-{API Level}, bawat isa ay naglalaman ng kumpletong SDK Platform.
Ang command na sdkmanager ay tumatanggap ng package identifier sa format na "platforms;android-{API}". Halimbawa, para i-install ang SDK Platform 35, ang command ay ganito:
# I-install ang SDK Platform para sa API Level 35
sdkmanager "platforms;android-35"
# Mag-install ng maraming platform sa isang command
sdkmanager "platforms;android-34" "platforms;android-33" "platforms;android-31"
# Listahan ng mga naka-install na platform
sdkmanager --list_installed | grep platforms
# Tanggalin ang lumang platform
sdkmanager --uninstall "platforms;android-28"
Ang mga modernong Android project ay gumagamit ng Gradle Plugin na maaaring awtomatikong mag-install ng SDK Platform sa unang build. Para dito, kailangan mong tukuyin ang compileSdk sa build.gradle at idagdag ang SDK directory sa lokal na configuration. Ang Android Studio ay nag-aalok din na i-install ang nawawalang platform kapag nagbukas ng project — pindutin lamang ang "Install SDK Platform" na button sa Gradle sync window.
Mahalagang regular na i-update ang SDK Platform sa pamamagitan ng SDK Manager — kasama ng platform, ang Build-Tools at Platform-Tools ay ina-update din, na nakakaapekto sa build performance at debug stability. Inirerekomenda ng Google na suriin ang mga update ng SDK tuwing 2–3 linggo, lalo na bago mag-publish ng bagong bersyon ng app sa Google Play.
Para patakbuhin ang emulator na may partikular na API Level, kailangan mong i-install ang System Image ng parehong bersyon. Ang SDK Manager ay nagpapahintulot sa pag-download ng mga image ng iba't ibang architecture (x86_64, arm64-v8a) at uri (Google APIs, Google Play, AOSP). Pagkatapos i-download ang image, ang AVD Manager ay gumagawa ng virtual device batay dito.
# I-install ang System Image na may Google APIs para sa API 35
sdkmanager "system-images;android-35;google_apis;x86_64"
# Gumawa ng AVD sa pamamagitan ng command line
avdmanager create avd -n pixel8 -k "system-images;android-35;google_apis;x86_64"
# Listahan ng mga ginawang AVD
avdmanager list avd
Tatlong parameter sa build.gradle ang tumutukoy kung paano gumagana ang app sa SDK Platform. compileSdk — API Level na ginagamit para sa pag-compile. Ang parameter na ito ay tumutukoy kung aling mga Android API class ang available sa code. Ang compileSdk ay dapat ang pinakabago sa tatlo at hindi nakakaapekto sa runtime behavior — ang app ay nagko-compile ngunit gumagamit lamang ng mga API na nasa device.
minSdk — ang pinakamababang API Level kung saan maaaring i-install ang app. Hindi papayagan ng Google Play ang pag-install ng app sa isang device na may bersyong mas mababa sa minSdk. Ang parameter na ito ay tumutukoy sa compatibility threshold at nakakaapekto sa audience coverage. Kung mas mababa ang minSdk, mas maraming device ang sinusuportahan, ngunit mas kaunting bagong API ang magagamit nang walang checks.
targetSdk — API Level kung saan nasubukan ang app. Ginagamit ng Android system ang targetSdk para mag-apply ng behavioral changes: kung ang app ay hindi na-update sa bagong API Level, ang system ay nag-a-activate ng compatibility mode para sa mga lumang bersyon. Ang Google Play ay nangangailangan ng targetSdk na hindi mas mababa sa isang partikular na antas — para sa 2026 ito ay API 34 (Android 14).
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
}
}
// Ang bersyon ng Android SDK ay dapat na naka-install sa pamamagitan ng SDK Manager
// sdkmanager "platforms;android-35"
Ang diskarte sa pagpili ay depende sa mga layunin ng proyekto. Para sa bagong app: compileSdk — pinakabagong stable (35 sa simula ng 2026), minSdk — API 26 (Android 8.0, sumasaklaw sa 95% ng mga device), targetSdk — pinakabagong stable. Para sa pag-update ng umiiral na app: itaas ang compileSdk agad, targetSdk — pagkatapos ng pagsubok sa lahat ng behavioral changes, minSdk — kung kinakailangan lamang na iwanan ang mga lumang device.
Ang Google ay nangangailangan na ang targetSdk ay ma-update sa loob ng isang taon pagkatapos ng paglabas ng bagong bersyon ng Android. Ang mga app na hindi nakakatugon sa kinakailangang ito ay hindi maaaring mag-publish ng mga update sa Google Play. Para subaybayan ang mga deadline, gamitin ang opisyal na kalendaryo ng Android OS updates.
| Parameter | Layunin | Rekomendasyon |
|---|---|---|
| compileSdk | Bersyon ng API para sa pag-compile | Pinakabagong stable |
| minSdk | Pinakamababang supported na bersyon | API 26 para sa 95% coverage |
| targetSdk | Bersyon para sa behavioral changes | Pinakabagong stable + pagsubok |
Kapag nagde-develop para sa iba't ibang bersyon ng Android, kailangang isaalang-alang ang availability ng API. Kung ang app ay gumagamit ng compileSdk 35 ngunit tumatakbo sa isang device na may API 31, ang pagtawag sa mga metodong idinagdag sa API 34 ay magdudulot ng NoSuchMethodError o AbstractMethodError. Para sa ligtas na pagtawag ng mga bagong API, ginagamit ang version checks sa pamamagitan ng Build.VERSION.SDK_INT.
class FeatureChecker {
fun registerNotificationChannel(context: Context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// Ang Notification channels ay available mula sa API 26
val channel = NotificationChannel(
"updates",
"Mga Update",
NotificationManager.IMPORTANCE_DEFAULT
)
val manager = context.getSystemService(NotificationManager::class.java)
manager.createNotificationChannel(channel)
}
}
}
Para sa mga metodong tinatawag lamang sa partikular na bersyon, gamitin ang @RequiresApi annotation. Ito ay nagsasabi sa lint checks na ang metodo ay ligtas at nagdi-disable ng mga babala. Kasama ng SDK_INT check, ginagawang mas malinis at mas naiintindihan ng mga reviewer ang code ng annotation.
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
fun scheduleExactAlarm(manager: AlarmManager, time: Long) {
// API 34: scheduleExact na may flag na SCHEDULE_EXACT_ALARM
if (manager.canScheduleExactAlarms()) {
manager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent)
} else {
// Humihiling ng pahintulot na SCHEDULE_EXACT_ALARM
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 {
// Lumang metodo setExact nang walang pagsusuri ng pahintulot
getAlarmManager(context).setExact(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent)
}
}
Minsan kailangang malaman kung anong bersyon ng SDK Platform ang naka-install sa device ng developer o sa CI. Ito ay maaaring gawin sa pamamagitan ng ADB o programmatically sa code ng app. Ang pag-alam sa API Level ng device ay tumutulong sa pag-test ng version-specific na behavior.
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")
}
// Output: SDK_INT: 35, RELEASE: 15, CODENAME: REL
}
Mga Madalas Itanong
Ang Android Studio ay isang IDE, samantalang ang SDK Platform ay isang koleksyon ng mga library at tool para sa pag-compile. Ginagamit ng Studio ang SDK Platform para bumuo ng mga app, ngunit ang mga platform ay dina-download nang hiwalay sa pamamagitan ng SDK Manager at maaaring i-update nang hiwalay sa bersyon ng Studio.
Karaniwan, sapat na ang tatlong bersyon: ang pinakabago (compileSdk), ang minimum (minSdk), at isang intermediate para sa pagsubok. Ang SDK Manager ay nagpapahintulot ng madaling pagdagdag at pagtanggal ng mga platform kung kinakailangan. Ang mga developer ay nag-iimbak ng average na 3–5 platform sa kanilang work machine.
Hindi. Ang bawat SDK Platform ay naglalaman lamang ng mga API ng sarili nitong bersyon. Para tumawag ng mga metodo mula sa API 35, kailangan ang platform na android-35. Ang pagtukoy ng bagong compileSdk na may naka-install na lumang platform ay magdudulot ng error sa pag-compile.
Ang Google ay naglalabas ng mga update ng SDK Platform para sa bawat bersyon: pag-aayos ng bug, mga bagong API, pagpapabuti ng performance. Ang SDK Manager ay nag-aabiso tungkol sa mga available na update. Inirerekomenda na i-install ang pinakabagong revision ng platform para sa stable na build.
Bilang default, ang bawat SDK Platform ay sumasakop ng 200–800 MB sa direktoryo na Android/Sdk/platforms/android-{API}. Sa loob ng folder ay may android.jar, data folder na may mga resources, at configuration file para sa emulator at build.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din