summaryrefslogtreecommitdiff
path: root/src/android
diff options
context:
space:
mode:
authorZephyron <zephyron@citron-emu.orgq>2025-02-22 19:07:53 +1000
committerMike Lothian <mike@fireburn.co.uk>2025-05-12 12:46:19 +0100
commitd296c3b221cfa60e84dd0d3b570b937fd6ed0d0c (patch)
tree2902e1be06f892e44d775e305310cf4d166516cf /src/android
parent4396089f3ef70807258a778ef5f95dbcedb16cef (diff)
android: Update build dependencies and configurations
Updates various build dependencies and configurations for the Android build: * Upgrade Android Gradle Plugin to 8.8.1 * Update Kotlin to 2.1.20-RC * Upgrade NDK to 28.0.13004108 * Update target/compile SDK to Android 35 * Upgrade Java/Kotlin target to JVM 21 * Enable additional release optimizations (shrinkResources, proguard-android-optimize) * Update CMake to 3.31.5 * Update various AndroidX and support library dependencies * Change CMake boolean flags from 0/1 to OFF/ON * Update ktlint to 0.51.1 and related plugins This commit modernizes the Android build system and enables additional optimizations for release builds.
Diffstat (limited to 'src/android')
-rw-r--r--src/android/app/build.gradle.kts30
-rw-r--r--src/android/build.gradle.kts8
2 files changed, 19 insertions, 19 deletions
diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts
index ed7329482..1e5cbeed6 100644
--- a/src/android/app/build.gradle.kts
+++ b/src/android/app/build.gradle.kts
@@ -1,4 +1,5 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
+// SPDX-FileCopyrightText: 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
import android.annotation.SuppressLint
@@ -10,10 +11,10 @@ plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("kotlin-parcelize")
- kotlin("plugin.serialization") version "2.0.20"
+ kotlin("plugin.serialization") version "2.1.20-RC"
id("androidx.navigation.safeargs.kotlin")
- id("org.jlleitschuh.gradle.ktlint") version "12.1.1"
- id("com.github.triplet.play") version "3.10.1"
+ id("org.jlleitschuh.gradle.ktlint") version "12.1.2"
+ id("com.github.triplet.play") version "3.12.1"
}
/**
@@ -109,7 +110,7 @@ android {
isJniDebuggable = false
isDebuggable = false
proguardFiles(
- getDefaultProguardFile("proguard-android.txt"),
+ getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
@@ -161,9 +162,9 @@ android {
externalNativeBuild {
cmake {
arguments(
- "-DENABLE_QT=0", // Don't use QT
- "-DENABLE_SDL2=0", // Don't use SDL
- "-DENABLE_WEB_SERVICE=0", // Don't use telemetry
+ "-DENABLE_QT=OFF", // Don't use QT
+ "-DENABLE_SDL2=OFF", // Don't use SDL
+ "-DENABLE_WEB_SERVICE=OFF", // Don't use telemetry
"-DBUNDLE_SPEEX=ON",
"-DANDROID_ARM_NEON=true", // cryptopp requires Neon to work
"-DYUZU_USE_BUNDLED_VCPKG=ON",
@@ -234,22 +235,21 @@ play {
}
dependencies {
- implementation("androidx.core:core-ktx:1.13.1")
+ implementation("androidx.core:core-ktx:1.15.0")
implementation("androidx.appcompat:appcompat:1.7.0")
- implementation("androidx.recyclerview:recyclerview:1.3.2")
- implementation("androidx.constraintlayout:constraintlayout:2.1.4")
- implementation("androidx.fragment:fragment-ktx:1.8.2")
+ implementation("androidx.recyclerview:recyclerview:1.4.0")
+ implementation("androidx.constraintlayout:constraintlayout:2.2.0")
+ implementation("androidx.fragment:fragment-ktx:1.8.6")
implementation("androidx.documentfile:documentfile:1.0.1")
implementation("com.google.android.material:material:1.12.0")
implementation("androidx.preference:preference-ktx:1.2.1")
- implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.4")
+ implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")
implementation("io.coil-kt:coil:2.7.0")
implementation("androidx.core:core-splashscreen:1.0.1")
implementation("androidx.window:window:1.3.0")
- implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
- implementation("androidx.navigation:navigation-fragment-ktx:2.7.7")
- implementation("androidx.navigation:navigation-ui-ktx:2.7.7")
+ implementation("androidx.navigation:navigation-fragment-ktx:2.8.7")
+ implementation("androidx.navigation:navigation-ui-ktx:2.8.7")
implementation("info.debatty:java-string-similarity:2.0.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
}
diff --git a/src/android/build.gradle.kts b/src/android/build.gradle.kts
index a3fcc797b..9348f9f7c 100644
--- a/src/android/build.gradle.kts
+++ b/src/android/build.gradle.kts
@@ -3,9 +3,9 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id("com.android.application") version "8.8.0" apply false
- id("com.android.library") version "8.8.0" apply false
- id("org.jetbrains.kotlin.android") version "2.0.20" apply false
+ id("com.android.application") version "8.8.1" apply false
+ id("com.android.library") version "8.8.1" apply false
+ id("org.jetbrains.kotlin.android") version "2.1.20-RC" apply false
}
tasks.register("clean").configure {
@@ -17,6 +17,6 @@ buildscript {
google()
}
dependencies {
- classpath("androidx.navigation:navigation-safe-args-gradle-plugin:2.7.7")
+ classpath("androidx.navigation:navigation-safe-args-gradle-plugin:2.8.7")
}
}