repositories, BOM, kapt va ksp, dinamik versiyalar, dependency tree
10-sinfAdvanced Android6-hafta · 17-darsKutubxona qayerdan keladi
BOM, kapt va ksp
Dependency tree
Build xatosida birinchi nimaga qaraladi?
Kutubxona qayerdan keladi
// settings.gradle.kts
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Retrofit va OkHttp odatda qaysi repository da bo'ladi?
BOM, kapt va ksp
dependencies {
implementation(platform("androidx.compose:compose-bom:2024.06.00"))
implementation("androidx.compose.material3:material3")
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("androidx.room:room-runtime:2.6.1")
ksp("androidx.room:room-compiler:2.6.1")
}
kapt o'rniga ksp ishlating (plaginni ulash kerak).BOM nimaga xizmat qiladi?
Dependency tree
implementation(libs.boshqa.kutubxona) {
exclude(group = "com.squareup.okhttp3", module = "okhttp")
}
configurations.all {
resolutionStrategy {
force("com.squareup.okhttp3:okhttp:4.12.0")
}
}
2.9.0. 2.9.+ yoki latest.release — xavfli.Qaysi yozuv dinamik versiya (xavfli)?
+ har safar eng oxirgi versiyani oladi.1.2.+)1.2.3)Aniq versiya barqaror natija beradi.
Kutubxona yuklanadigan manba
Bir oila kutubxona versiyalari to'plami
Tez annotation processing
Ichki kutubxonani olib tashlash
Rasmiy sahifadan guruh:nom:versiya ni oling.
dependencies {} ga qo'shing.
Sync Now va ishga tushiring.
| Manba | Nima uchun | Misol |
|---|---|---|
google() | Android va Jetpack | Room, Compose |
mavenCentral() | ochiq kutubxonalar | Retrofit, Coil |
| Jitpack | GitHub kutubxonalari | shaxsiy kutubxona |
Lokal .aar | qo'lda qo'shilgan fayl | kamdan-kam |
Pastga bosing: tekshirish
./gradlew app:dependencies ni ishga tushiring.exclude yoki force tanlang.
kapt("androidx.room:room-compiler:2.6.1")
ksp("androidx.room:room-compiler:2.6.1")
Barcha qismlar qo'llanma materialidan.
settings.gradle.kts ga google() va mavenCentral() ni yozing.2.3.0 (io.coil-kt:coil-compose) ni ulang.kapt("androidx.room:room-compiler:2.6.1") ni KSP ga almashtiring va farqini yozing.retrofit:2.+ nima uchun xavfli? Qanday tuzatasiz?material3 ni versiyasiz yozing../gradlew app:dependencies da OkHttp ning ikki xil versiyasi ko'rinmoqda. force bilan 4.12.0 ni tanlang.okhttp ni exclude qiling.google(), mavenCentral(), Jitpack.
dependencies {}, BOM, ksp, Sync.
SemVer, aniq versiya; exclude, force.
Uyga vazifa: 2 ta kutubxonani ulash va daraxtni tahlil qilish.
implementation, api, compileOnly
6-hafta · 18-dars