Clean up Gradle build scripts
diff --git a/build.gradle.kts b/build.gradle.kts
index bb491f5..2a5dde5 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -3,15 +3,6 @@
 buildscript {
     repositories {
         google()
-        jcenter()
-    }
-
-    dependencies {
-        classpath("com.android.tools.build:gradle:${plugins.versions.androidGradle}")
-        classpath("com.google.protobuf:protobuf-gradle-plugin:${plugins.versions.protobuf}")
-        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${plugins.versions.kotlin}")
-        classpath("org.jetbrains.dokka:dokka-gradle-plugin:${plugins.versions.kotlin}")
-        classpath("org.jlleitschuh.gradle:ktlint-gradle:${plugins.versions.ktlint}")
     }
 }
 
@@ -30,7 +21,7 @@
 }
 
 subprojects {
-    if (path == ":app" || path == ":storage:lib") {
+    if (path != ":storage:demo") {
         apply(plugin = "org.jlleitschuh.gradle.ktlint")
 
         configure<KtlintExtension> {
diff --git a/build.libs.toml b/build.libs.toml
index 76069aa..b723baa 100644
--- a/build.libs.toml
+++ b/build.libs.toml
@@ -17,6 +17,7 @@
 # We need to enforce that the versions we use are the same as AOSP to ensure compatibility.
 
 # Kotlin versions
+# https://android.googlesource.com/platform/external/kotlinc/+/refs/tags/android-14.0.0_r1/build.txt
 aosp-kotlin = { strictly = "1.8.10" }
 
 # Lint versions
diff --git a/build.plugins.toml b/build.plugins.toml
index 1e9acf9..defb8bf 100644
--- a/build.plugins.toml
+++ b/build.plugins.toml
@@ -1,5 +1,14 @@
 [versions]
+# We need to enforce that the versions we use are the same as AOSP to ensure compatibility.
+# 1.3.61 Android 11
+# 1.4.30 Android 12
+# 1.6.10 Android 13
+# 1.7.20 Android 13 (QPR2)
+# 1.8.10 Android 14
+# Check:
+# https://android.googlesource.com/platform/external/kotlinc/+/refs/tags/android-14.0.0_r1/build.txt
 kotlin = "1.8.10"
+
 androidGradle = "8.1.2"
 protobuf = "0.9.4"
 ktlint = "11.5.0"
diff --git a/contactsbackup/build.gradle.kts b/contactsbackup/build.gradle.kts
index 36e7fcf..92ad822 100644
--- a/contactsbackup/build.gradle.kts
+++ b/contactsbackup/build.gradle.kts
@@ -72,6 +72,7 @@
 
     androidTestImplementation(libs.kotlin.stdlib.jdk8)
     androidTestImplementation("androidx.test.ext:junit:1.1.5")
-    androidTestImplementation("androidx.test.espresso:espresso-core:${libs.versions.espresso.get()}")
+    androidTestImplementation(
+        "androidx.test.espresso:espresso-core:${libs.versions.espresso.get()}")
     androidTestImplementation("io.mockk:mockk-android:${libs.versions.mockk.get()}")
 }
diff --git a/storage/demo/build.gradle.kts b/storage/demo/build.gradle.kts
index 20c91b5..0f59892 100644
--- a/storage/demo/build.gradle.kts
+++ b/storage/demo/build.gradle.kts
@@ -46,11 +46,14 @@
         freeCompilerArgs += listOf("-opt-in=kotlin.RequiresOptIn")
     }
 
-    lintOptions {
-        disable("DialogFragmentCallbacksDetector", "InvalidFragmentVersionForActivityResult")
+    lint {
+        disable += setOf(
+            "DialogFragmentCallbacksDetector",
+            "InvalidFragmentVersionForActivityResult"
+        )
     }
 
-    packagingOptions {
+    packaging {
         jniLibs {
             excludes += listOf("META-INF/services/kotlin*")
         }
diff --git a/storage/lib/build.gradle.kts b/storage/lib/build.gradle.kts
index 657c5f2..3cd72ba 100644
--- a/storage/lib/build.gradle.kts
+++ b/storage/lib/build.gradle.kts
@@ -18,9 +18,8 @@
 
     defaultConfig {
         minSdk = libs.versions.minSdk.get().toInt()
-        targetSdk = libs.versions.targetSdk.get().toInt()
         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
-        testInstrumentationRunnerArguments(mapOf("disableAnalytics" to "true"))
+        testInstrumentationRunnerArguments["disableAnalytics"] = "true"
     }
 
     buildTypes {