0.1.0-0-pre.7

This commit is contained in:
2026-09-16 09:29:19 +02:00
parent fa4e2925bd
commit 98b830da6e
18 changed files with 434 additions and 20 deletions

3
Android/.gitignore vendored
View File

@@ -1,7 +1,8 @@
# file: Android/.gitignore
# version: 1
# version: 2
.gradle/
**/build/
local.properties
libs/*.aar
**/src/main/jniLibs/

View File

@@ -1,5 +1,5 @@
<!-- file: Android/README.md -->
<!-- version: 3 -->
<!-- version: 4 -->
# Android
@@ -55,3 +55,18 @@ Le module `common` consomme cet artefact et `SaseGameActivity` étend désormais
Les APK peuvent être compilés côté Java/SDL3 une fois l'AAR disponible, mais ne disposent pas encore du `cdylib` Rust contenant le point d'entrée de jeu.
Le lancement fonctionnel sur appareil/émulateur appartient donc au delta suivant.
## Rust Android natif
Le crate `game-android-entrypoint` produit `libgame_android_entrypoint.so`. Il est compilé séparément pour chaque jeu avec une feature Cargo et copié dans le `jniLibs` du module Android concerné.
Pour `arm64-v8a` :
```bash
rustup target add aarch64-linux-android
cargo install cargo-ndk
python3 ../scripts/build_android_rust.py reflex
python3 ../scripts/build_android_rust.py snake
```
Le script extrait temporairement `libSDL3.so` de l'AAR uniquement pour fournir le chemin de linkage à `rustc`; l'AAR reste responsable du packaging SDL3 dans l'APK.

View File

@@ -1,5 +1,5 @@
// file: Android/common/src/main/java/com/sasedev/games/common/SaseGameActivity.java
// version: 2
// version: 3
package com.sasedev.games.common;
@@ -9,6 +9,13 @@ package com.sasedev.games.common;
* <p>The SDL3 Android AAR supplies the common {@code SDLActivity} host. Game-specific activities extend this class.</p>
*/
public abstract class SaseGameActivity extends org.libsdl.app.SDLActivity {
/** {@inheritDoc} */
@Override
protected final String[] getLibraries() {
return new String[] {"SDL3", "game_android_entrypoint"};
}
/**
* Returns the stable identifier of the game hosted by the activity.
*

View File

@@ -1,5 +1,5 @@
// file: Android/game-reflex-poc/build.gradle
// version: 3
// version: 4
plugins {
id 'com.android.application'
@@ -16,7 +16,7 @@ android {
minSdk 21
targetSdk 36
versionCode 1
versionName '0.1.0-0-pre.6'
versionName '0.1.0-0-pre.7'
}
compileOptions {

View File

@@ -1,5 +1,5 @@
// file: Android/game-snake-poc/build.gradle
// version: 3
// version: 4
plugins {
id 'com.android.application'
@@ -16,7 +16,7 @@ android {
minSdk 21
targetSdk 36
versionCode 1
versionName '0.1.0-0-pre.6'
versionName '0.1.0-0-pre.7'
}
compileOptions {