Android: Use version catalog and update dependencies

Migrate plugin and dependency versions to a Gradle version catalog and update dependencies to their latest available versions.
This commit is contained in:
Simonx22
2026-03-16 14:46:50 -04:00
parent 8ac767e032
commit e878174235
8 changed files with 103 additions and 60 deletions

View File

@@ -1,20 +1,18 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
kotlin("plugin.serialization") version "2.2.21"
id("androidx.baselineprofile")
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.androidx.baselineprofile)
}
@Suppress("UnstableApiUsage")
android {
compileSdkVersion = "android-36"
compileSdk = 36
ndkVersion = "29.0.14206865"
buildFeatures {
viewBinding = true
buildConfig = true
resValues = true
}
compileOptions {
@@ -25,12 +23,6 @@ android {
targetCompatibility = JavaVersion.VERSION_17
}
kotlin {
compilerOptions {
jvmTarget = JvmTarget.fromTarget("17")
}
}
lint {
// This is important as it will run lint but not abort on error
// Lint has some overly obnoxious "errors" that should really be warnings
@@ -79,7 +71,7 @@ android {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android.txt"),
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
@@ -126,38 +118,38 @@ android {
dependencies {
baselineProfile(project(":benchmark"))
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
coreLibraryDesugaring(libs.desugar.jdk.libs)
implementation("androidx.core:core-ktx:1.17.0")
implementation("androidx.appcompat:appcompat:1.7.1")
implementation("androidx.cardview:cardview:1.0.0")
implementation("androidx.recyclerview:recyclerview:1.4.0")
implementation("androidx.constraintlayout:constraintlayout:2.2.1")
implementation("androidx.fragment:fragment-ktx:1.8.9")
implementation("androidx.slidingpanelayout:slidingpanelayout:1.2.0")
implementation("com.google.android.material:material:1.13.0")
implementation("androidx.core:core-splashscreen:1.2.0")
implementation("androidx.preference:preference-ktx:1.2.1")
implementation("androidx.profileinstaller:profileinstaller:1.4.1")
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.cardview)
implementation(libs.androidx.recyclerview)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.fragment.ktx)
implementation(libs.androidx.slidingpanelayout)
implementation(libs.material)
implementation(libs.androidx.core.splashscreen)
implementation(libs.androidx.preference.ktx)
implementation(libs.androidx.profileinstaller)
// Kotlin extensions for lifecycle components
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.4")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.4")
implementation(libs.androidx.lifecycle.viewmodel.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
// Android TV UI libraries.
implementation("androidx.leanback:leanback:1.2.0")
implementation("androidx.tvprovider:tvprovider:1.1.0")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation(libs.androidx.leanback)
implementation(libs.androidx.tvprovider)
implementation(libs.androidx.swiperefreshlayout)
// For loading game covers from disk and GameTDB
implementation("io.coil-kt:coil:2.7.0")
implementation(libs.coil)
// For loading custom GPU drivers
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
implementation(libs.kotlinx.serialization.json)
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
implementation(libs.kotlinx.coroutines.android)
implementation("com.nononsenseapps:filepicker:4.2.1")
implementation(libs.filepicker)
}
fun getGitVersion(): String {