settings.gradle, project va module build.gradle, android{}, modullar
10-sinfAdvanced Android5-hafta · 13-darsLoyihaning bosh rejasi
plugins, android{}, defaultConfig
include va project(...)
GitHub Actions workflow fayli qaysi formatda yoziladi?
.github/workflows/*.yml fayllarida YAML formatida yoziladi.Loyihaning bosh rejasi
MyApp/
settings.gradle.kts <- modullar ro'yxati
build.gradle.kts <- project-level
gradle/libs.versions.toml
app/
build.gradle.kts <- module-level (eng muhim)
src/main/...
.gradle (Groovy) yoki .gradle.kts (Kotlin DSL) bo'lishi mumkin; mazmuni bir xil, sintaksis biroz farq qiladi.Qaysi fayl ilovaning qanday qurilishini belgilaydi?
build.gradle ilova sozlamalari va kutubxonalarini belgilaydi.plugins, android{}, defaultConfig
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "com.example.advanced"
compileSdk = 34
defaultConfig {
applicationId = "com.example.advanced"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
}
}
minSdk ni noto'g'ri tanlash ilovaning eski telefonlarda ishlamasligiga olib keladi. Har nashrda versionCode oshirilishi shart.minSdk = 24 nimani bildiradi?
minSdk dan past versiyali qurilmalarga ilova o'rnatilmaydi.include va project(...)
// settings.gradle.kts
include(":app")
include(":core")
// core/build.gradle.kts
plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
}
// app/build.gradle.kts
dependencies {
implementation(project(":core"))
}
Sync Now tugmasini bosing. app -> core yo'nalishi to'g'ri, teskarisi (core -> app) tsikl hosil qiladi.app modulidan core modulini ishlatish uchun nima yoziladi?
settings da e'lon qilinadi, so'ng project(...) bilan ulanadi.android {}, defaultConfig, dependencies {}Ilovaning asosiy sozlamalari module-level faylda.
Ilovaning noyob nomi: com.example.advanced
Eng past va moslashtirilgan Android versiyasi
Ichki butun versiya raqami: har nashrda oshadi
Foydalanuvchiga ko'rinadigan versiya: 1.0
File > New > New Module > Android Library.
settings.gradle.kts da include(":core").
app da implementation(project(":core")) va Sync.
| Fayl | Darajasi | Nima beradi |
|---|---|---|
settings.gradle | loyiha | modullar ro'yxati, repozitoriyalar |
build.gradle (root) | loyiha | umumiy plaginlar |
app/build.gradle | modul | SDK, versiya, kutubxonalar |
gradle.properties | loyiha | Gradle parametrlari |
libs.versions.toml | loyiha | versiyalar katalogi |
Pastga bosing: Sync qoidasi
Sync Now tugmasini bosing.Build oynasidagi birinchi qizil qatorni o'qing.
android {
}
android {
namespace = "com.example.advanced"
compileSdk = 34
}
Modul soni oshgan sari include ro'yxati ham o'sadi.
settings.gradle, project-level va module-level build.gradle vazifasini bir jumlada yozing.defaultConfig ni o'qing va minSdk, versionName qiymatlarini ayting.core kutubxona modulini yarating va app ga ulang.app moduli core ni ishlatmoqda, lekin Unresolved reference xatosi chiqdi. 2 ta mumkin bo'lgan sababni yozing.versionCode va versionName ni yozing.Kod, resurs va kutubxonalarni ilovaga aylantiradi.
settings, project va module-level build.gradle.
include va implementation(project(...)) bilan bog'lanadi.
Uyga vazifa: o'z loyihangiz fayllarini tahlil qiling va core modulini qo'shing.
debug va release farqi
5-hafta · 14-dars