Add Kotlin support to the ART library project.

This did require incrementing AGP version, which in turn required incrementing the Gradle version.

Bug: 307286150

Change-Id: Iadb2ff3625e2c8b4ff645276e331fc5c5b513e01
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/181161
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Sonakshi Saxena <nexa@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Jim Blackler <jimblackler@google.com>
diff --git a/tools/android/build.gradle b/tools/android/build.gradle
index a15efb9..475ef10 100644
--- a/tools/android/build.gradle
+++ b/tools/android/build.gradle
@@ -27,4 +27,5 @@
 
 plugins {
     id 'com.android.library' version '8.1.1' apply false
+    id 'org.jetbrains.kotlin.android' version '1.9.22' apply false
 }
diff --git a/tools/android/gradle/wrapper/gradle-wrapper.properties b/tools/android/gradle/wrapper/gradle-wrapper.properties
index b4636f8..162a4f4 100644
--- a/tools/android/gradle/wrapper/gradle-wrapper.properties
+++ b/tools/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
 #Mon Dec 18 23:57:53 GMT 2023
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/tools/android/webgpu/build.gradle b/tools/android/webgpu/build.gradle
index 833adbc..1f95d40 100644
--- a/tools/android/webgpu/build.gradle
+++ b/tools/android/webgpu/build.gradle
@@ -28,6 +28,7 @@
 plugins {
     id 'com.android.library'
     id 'maven-publish'
+    id 'org.jetbrains.kotlin.android'
 }
 
 android {
@@ -58,6 +59,16 @@
             headers "src/main/cpp/gen/include"
         }
     }
+    kotlinOptions {
+        jvmTarget = '17'
+    }
+    compileOptions {
+        targetCompatibility JavaVersion.VERSION_17
+    }
+}
+
+dependencies {
+    implementation 'androidx.core:core-ktx:1.12.0'
 }
 
 project.afterEvaluate {