Android ilovalarni avtomatlashtirilgan yig'ish, SDK darajalari va Gradle hayot sikli
10-sinfAdvanced Android1-hafta · 1-darsAndroid ekotizimida Build Automation (yig'ishni avtomatlashtirish) tizimining o'rni va vazifasi
settings.gradle, Project va Module-level build.gradle fayllarining tuzilishi
compileSdk, minSdk, targetSdk va Gradle Build Lifecycle ning 3 bosqichi
Dasturchi kodi va resurslaridan tayyor APK / AAB yaratish jarayoni
Kompilyatsiya qilish, resurslarni siqish, kutubxonalarni yuklash va manifestlarni birlashtirish to'liq avtomatlashgan.
Barcha komponentlar foydalanuvchi telefoniga o'rnatiladigan yagona APK yoki AAB formatiga yig'iladi.
Loyiha va modul darajasidagi konfiguratsiya fayllari
Loyihaning barcha modullarini (:app, :database) ro'yxatga oladi va repozitoriylarni boshqaradi.
Butun loyiha uchun umumiy qoidalar, global plaginlar va umumiy konfiguratsiyalarni belgilaydi.
Ilovaning "vaziri": SDK darajalari, versiya raqami, paket nomi va barcha kutubxonalar shu yerda belgilanadi.
JVM xotira sozlamalari (RAM) va barcha kompyuterlarda bir xil versiyada yig'ishni kafolatlovchi Wrapper tizimi.
Loyiha qanday turdagi dasturligini belgilaydi: com.android.application va org.jetbrains.kotlin.android.
Ilovaning asosiy parametrlari: applicationId, minSdk, targetSdk, versionCode va versionName.
Ilova yig'ish rejimlarini boshqaradi (Debug va Release, kodni siqish va xavfsizlik sozlamalari).
Ilovaga ulanadigan barcha tashqi kutubxonalar va ularning modullari ro'yxati.
compileSdk, minSdk va targetSdk o'rtasidagi farqlar
Kompilyatsiya versiyasi
Ilova qaysi Android SDK versiyasi asosida kompilyatsiya qilinishini belgilaydi. Yangi API imkoniyatlarini ochadi.
Minimal chegara
Ilova o'rnatilishi mumkin bo'lgan eng quyi Android versiyasi. Undan past qurilmalarda ilova o'rnatilmaydi.
Maqsadli sinov
Ilova qaysi versiya xavfsizlik va ruxsatlar qoidalariga moslab ishlab chiqilganini ko'rsatadi (Google Play talabi).
Faqat Google Play va tizim uchun mo'ljallangan butun son (1, 2, 3...).
Har safar yangi yangilanish (update) chiqarilganda bu son avvalgisidan qat'iy katta bo'lishi shart!
Foydalanuvchi ko'radigan tashqi versiya nomi (masalan, "1.0.0", "2.1.4-beta").
Semantic Versioning (Major.Minor.Patch) qoidalariga asoslanadi.
Yig'ish jarayonining 3 ta fundamental bosqichi
Gradle settings.gradle faylini o'qiydi va loyihada qaysi modullar ishtirok etayotganini aniqlaydi.
Barcha modullarning build.gradle fayllari o'qiladi va bajarilishi lozim bo'lgan vazifalar grafigi (DAG) tuziladi.
Vazifalar navbat bilan bajariladi: kod kompilyatsiya qilinadi, resurslar siqiladi va tayyor APK hosil bo'ladi.
Barcha eski yig'ilgan kesh va build/ kataloglarini butunlay o'chirib tozalaydi.
Ilovaning sinov (Debug) rejimdagi APK faylini kompilyatsiya qilib, diskka chiqarib beradi.
Loyihada mavjud bo'lgan barcha yig'ish, sinov va verifikatsiya vazifalarini ko'rsatadi.
minSdkni 34 deb belgilash (foydalanuvchilarning 90% ilovani o'rnatolmaydi).
Kod o'zgartirilgach "Sync Now" bosmaslik.
Yangi yangilanishda versionCodeni oshirishni unutish.
minSdkni 24 yoki 26 qilib muvozanatli tanlash.
Har bir o'zgarishdan so'ng doimiy Gradle Sync qilish.
versionCodeni qat'iy oshirish va gradlew Wrapperdan foydalanish.
Android Studio'da yangi loyiha oching. settings.gradle va modul darajasidagi build.gradle fayllarini tahlil qiling.
build.gradle oxiriga ilova nomi, applicationId va versionName parametrlarini terminalga chiqaruvchi maxsus vazifa yozing.
Gradle dasturchining o'nlab qo'lda bajariladigan ishlarini avtomatlashtirib, ishonchli build yaratadi.
compileSdk, minSdk va versionCode ilovaning hayoti va mosligini belgilovchi eng muhim tayanchlardir.
Keyingi dars: Build variantlari va Product Flavors (Debug vs Release, Free vs Paid)