From be0edc48b6cabc00cc1e3abe77d4d48817f4bb27 Mon Sep 17 00:00:00 2001
From: mickbot-92 <158478736+mickbot-92@users.noreply.github.com>
Date: Sat, 8 Nov 2025 23:25:11 +0100
Subject: [PATCH] [Simulator/Android] Bump Gradle and Java & Add Android on
README
---
.github/workflows/ci-workflow.yml | 6 +++---
README.fr.md | 20 +++++++++++++++++++
README.md | 20 ++++++++++++++++++-
ion/src/simulator/android/build.gradle | 12 +++++------
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
5 files changed, 49 insertions(+), 11 deletions(-)
diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml
index 24dccbdb5f..228deb8a22 100644
--- a/.github/workflows/ci-workflow.yml
+++ b/.github/workflows/ci-workflow.yml
@@ -111,10 +111,10 @@ jobs:
- run: |
sudo apt-get update
sudo apt-get install imagemagick libfreetype-dev libpng-dev
- - name: Set up JDK 21
- uses: actions/setup-java@v4
+ - name: Set up JDK 25
+ uses: actions/setup-java@v5
with:
- java-version: '21'
+ java-version: '25'
distribution: 'temurin'
- run: wget -nv https://dl.google.com/android/repository/android-ndk-r21e-linux-x86_64.zip
- run: unzip -q android-ndk-r21e-linux-x86_64.zip
diff --git a/README.fr.md b/README.fr.md
index c9c80e628e..4d89dda95e 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -416,6 +416,26 @@ Le simulateur se trouve dans `output/release/simulator/web/simulator.zip`
+Simulateur Android
+
+Assurez-vous d'avoir JDK 25 d'installé.
+Ensuite, téléchargez la toolchain Android version r21e comme suit :
+```
+export ANDROID_HOME=$PWD/android-sdk
+wget -nv https://gitlab.com/fdroid/sdkmanager/-/raw/master/sdkmanager.py
+python3 sdkmanager.py --licenses
+python3 sdkmanager.py --install "ndk-bundle;r21e"
+```
+Il ne vous reste plus qu'à lancer cette commande pour compiler Upsilon.
+```
+make -j$(nproc) PLATFORM=simulator TARGET=android
+```
+Le fichier compilé nommé `epsilon.apk` sera celui à installer sur le téléphone depuis votre gestionnaire de fichier. Fonctionne normalement à partir de Android 4.
+
+
+
+
+
Simulateur pour 3DS
Il vous faut devkitPro et devkitARM installés et dans votre path (les instructions sont [ici](https://devkitpro.org/wiki/Getting_Started))
diff --git a/README.md b/README.md
index 74be9a6222..d1a97deeeb 100644
--- a/README.md
+++ b/README.md
@@ -442,7 +442,25 @@ You can then put epsilon.3dsx on a SD card to run it from the HBC or use 3dslink
-
+
+
+Android Simulator
+
+Make sure you have JDK 25 installed.
+Then, download the Android toolchain r21e as following :
+```
+export ANDROID_HOME=$PWD/android-sdk
+wget -nv https://gitlab.com/fdroid/sdkmanager/-/raw/master/sdkmanager.py
+python3 sdkmanager.py --licenses
+python3 sdkmanager.py --install "ndk-bundle;r21e"
+```
+All you have to do is run this command to compile Upsilon.
+```
+make -j$(nproc) PLATFORM=simulator TARGET=android
+```
+The compiled file named `epsilon.apk` will be the one to install on the phone from your file manager. Shoudl work on Android 4.1+.
+
+
Casio fx-CG-series Port
diff --git a/ion/src/simulator/android/build.gradle b/ion/src/simulator/android/build.gradle
index d432f5c763..bae0bbbcb9 100644
--- a/ion/src/simulator/android/build.gradle
+++ b/ion/src/simulator/android/build.gradle
@@ -16,7 +16,7 @@ buildscript {
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:8.8.1'
+ classpath 'com.android.tools.build:gradle:8.13.0'
}
}
@@ -32,10 +32,10 @@ apply plugin: 'com.android.application'
android {
namespace = "io.github.upsilon.simulator"
- compileSdkVersion 35
+ compileSdkVersion 36
defaultConfig {
applicationId "io.github.upsilon.simulator"
- minSdkVersion 21
+ minSdkVersion 16
targetSdkVersion 33
def d=new Date()
versionCode Instant.now().getEpochSecond().toInteger()
@@ -77,8 +77,8 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation "androidx.appcompat:appcompat:1.7.0"
- implementation(platform("org.jetbrains.kotlin:kotlin-bom:2.1.10"))
+ implementation "androidx.appcompat:appcompat:1.6.0"
+ implementation(platform("org.jetbrains.kotlin:kotlin-bom:2.2.21"))
}
-java{toolchain{languageVersion=JavaLanguageVersion.of(21)}}
+java{toolchain{languageVersion=JavaLanguageVersion.of(25)}}
diff --git a/ion/src/simulator/android/gradle/wrapper/gradle-wrapper.properties b/ion/src/simulator/android/gradle/wrapper/gradle-wrapper.properties
index 58abf278a9..6db27b7f29 100644
--- a/ion/src/simulator/android/gradle/wrapper/gradle-wrapper.properties
+++ b/ion/src/simulator/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists