diff --git a/Source/Android/app/build.gradle b/Source/Android/app/build.gradle index c9c9942f88..eeb7b31a95 100644 --- a/Source/Android/app/build.gradle +++ b/Source/Android/app/build.gradle @@ -1,7 +1,7 @@ plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' - id 'org.jetbrains.kotlin.plugin.serialization' version "1.7.20" + id 'org.jetbrains.kotlin.plugin.serialization' version "1.8.21" } task copyProfile (type: Copy) { @@ -22,12 +22,12 @@ android { // Flag to enable support for the new language APIs coreLibraryDesugaringEnabled true - sourceCompatibility = "11" - targetCompatibility = "11" + sourceCompatibility = "17" + targetCompatibility = "17" } kotlinOptions { - jvmTarget = '11' + jvmTarget = '17' } lint { @@ -135,26 +135,26 @@ android { } dependencies { - coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.2' + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3' - implementation 'androidx.core:core-ktx:1.9.0' + implementation 'androidx.core:core-ktx:1.10.1' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.exifinterface:exifinterface:1.3.6' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.3.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - implementation 'androidx.lifecycle:lifecycle-viewmodel:2.6.0' - implementation 'androidx.fragment:fragment:1.5.5' + implementation 'androidx.lifecycle:lifecycle-viewmodel:2.6.1' + implementation 'androidx.fragment:fragment:1.6.0' implementation 'androidx.slidingpanelayout:slidingpanelayout:1.2.0' - implementation 'com.google.android.material:material:1.8.0' - implementation 'androidx.core:core-splashscreen:1.0.0' + implementation 'com.google.android.material:material:1.9.0' + implementation 'androidx.core:core-splashscreen:1.0.1' implementation 'androidx.preference:preference:1.2.0' - implementation 'androidx.profileinstaller:profileinstaller:1.2.2' + implementation 'androidx.profileinstaller:profileinstaller:1.3.1' // Kotlin extensions for lifecycle components - implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.0' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.0' - implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.0' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1' + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1' // Android TV UI libraries. implementation 'androidx.leanback:leanback:1.0.0' @@ -167,7 +167,7 @@ dependencies { implementation 'io.coil-kt:coil:2.2.2' // For loading custom GPU drivers - implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3" + implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1" implementation 'com.nononsenseapps:filepicker:4.2.1' } diff --git a/Source/Android/app/proguard-rules.pro b/Source/Android/app/proguard-rules.pro index 5ed4a21dce..769f7016fb 100644 --- a/Source/Android/app/proguard-rules.pro +++ b/Source/Android/app/proguard-rules.pro @@ -41,3 +41,14 @@ # If there is no `java.lang.ClassValue` (for example, in Android), then R8/ProGuard will print a warning. # However, since in this case they will not be used, we can disable these warnings -dontwarn kotlinx.serialization.internal.ClassValueReferences + +# Required for R8 full mode +-dontwarn org.bouncycastle.jsse.BCSSLParameters +-dontwarn org.bouncycastle.jsse.BCSSLSocket +-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider +-dontwarn org.conscrypt.Conscrypt$Version +-dontwarn org.conscrypt.Conscrypt +-dontwarn org.conscrypt.ConscryptHostnameVerifier +-dontwarn org.openjsse.javax.net.ssl.SSLParameters +-dontwarn org.openjsse.javax.net.ssl.SSLSocket +-dontwarn org.openjsse.net.ssl.OpenJSSE diff --git a/Source/Android/build.gradle b/Source/Android/build.gradle index 5b1f7338e2..e8343673c7 100644 --- a/Source/Android/build.gradle +++ b/Source/Android/build.gradle @@ -1,6 +1,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id 'com.android.application' version '7.4.2' apply false - id 'com.android.library' version '7.4.2' apply false - id 'org.jetbrains.kotlin.android' version '1.8.10' apply false + id 'com.android.application' version '8.0.2' apply false + id 'com.android.library' version '8.0.2' apply false + id 'org.jetbrains.kotlin.android' version '1.8.21' apply false } diff --git a/Source/Android/gradle.properties b/Source/Android/gradle.properties index 0d0705d1da..ac3bc4bbd0 100644 --- a/Source/Android/gradle.properties +++ b/Source/Android/gradle.properties @@ -14,3 +14,6 @@ android.enableJetifier=true android.useAndroidX=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false