0.1.0-0-pre.9

This commit is contained in:
2026-09-16 10:01:13 +02:00
parent 00808ea5a6
commit 4fcbdf316d
22 changed files with 507 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: Android/README.md -->
<!-- version: 5 -->
<!-- version: 6 -->
# Android
@@ -20,7 +20,7 @@ Chaque module `game-*` est une application Android indépendante ; il dépend du
## Toolchain de référence
Pour la baseline `0.1.0-0-pre.8` :
Pour la baseline `0.1.0-0-pre.9` :
- Android Gradle Plugin `9.4.0` ;
- Gradle `9.6.0` attendu par AGP 9.4 ;
@@ -73,6 +73,21 @@ Le script extrait temporairement `libSDL3.so` de l'AAR uniquement pour fournir l
## Bridge JNI et tactile
À partir de `0.1.0-0-pre.8`, `SaseGameActivity` vérifie au démarrage la version du bridge Java/JNI chargé depuis la bibliothèque Rust.
À partir de `0.1.0-0-pre.9`, `SaseGameActivity` vérifie au démarrage la version du bridge Java/JNI chargé depuis la bibliothèque Rust.
Les touch events standards restent traités via SDL3 et ne transitent pas par JNI.
## Packaging des assets
Les modules applications exécutent `stageSasedevAssets` avant `preBuild`.
La tâche compose les sources :
```text
assets/common/ -> assets/common/
assets/<game>/ -> assets/game/
```
dans un répertoire généré sous `Android/<module>/build/generated/sasedevAssets/main/`.
Aucune ressource source n'est copiée durablement dans un module Android ou une crate Rust.

View File

@@ -1,5 +1,5 @@
// file: Android/game-reflex-poc/build.gradle
// version: 6
// version: 7
plugins {
id 'com.android.application'
@@ -16,7 +16,7 @@ android {
minSdk 21
targetSdk 36
versionCode 1
versionName '0.1.0-0-pre.8'
versionName '0.1.0-0-pre.9'
}
compileOptions {
@@ -29,3 +29,6 @@ dependencies {
implementation files("../libs/${sdl3AarName}")
implementation project(':common')
}
ext.sasedevGameAssetDirectory = "game-reflex-poc"
apply from: rootProject.file("gradle/sasedev-assets.gradle")

View File

@@ -1,5 +1,5 @@
// file: Android/game-snake-poc/build.gradle
// version: 6
// version: 7
plugins {
id 'com.android.application'
@@ -16,7 +16,7 @@ android {
minSdk 21
targetSdk 36
versionCode 1
versionName '0.1.0-0-pre.8'
versionName '0.1.0-0-pre.9'
}
compileOptions {
@@ -29,3 +29,6 @@ dependencies {
implementation files("../libs/${sdl3AarName}")
implementation project(':common')
}
ext.sasedevGameAssetDirectory = "game-snake-poc"
apply from: rootProject.file("gradle/sasedev-assets.gradle")

View File

@@ -0,0 +1,22 @@
// file: Android/gradle/sasedev-assets.gradle
// version: 1
def generatedAssetsDirectory = layout.buildDirectory.dir("generated/sasedevAssets/main")
def sourceCommonAssets = rootProject.file("../assets/common")
def sourceGameAssets = rootProject.file("../assets/${project.ext.sasedevGameAssetDirectory}")
tasks.register("stageSasedevAssets", Sync) {
into(generatedAssetsDirectory)
from(sourceCommonAssets) {
into("common")
}
from(sourceGameAssets) {
into("game")
}
}
android.sourceSets.main.assets.srcDir(generatedAssetsDirectory)
tasks.named("preBuild").configure {
dependsOn(tasks.named("stageSasedevAssets"))
}