0.3.1-2-beta.1

This commit is contained in:
2026-09-21 07:47:08 +02:00
parent c806490212
commit d8e7951a04
9 changed files with 194 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: crates/apps/game-snake-poc-tauri/USAGE.md -->
<!-- version: 7 -->
<!-- version: 8 -->
# Utilisation — Snake Tauri Android
@@ -101,4 +101,19 @@ Pendant `cargo tauri android dev` :
Le D-pad placé sous le Canvas est une limite ergonomique connue du POC de référence et nest pas un critère bloquant de cette gate.
Sur le Galaxy S9+ ARM64 utilisé pour la validation réelle, le chargement, WASM, Canvas, assets et touch ont fonctionné via le tunnel USB. En revanche, le Back système a provoqué pendant le teardown de l'Activity/WebView un abort natif `FORTIFY: pthread_mutex_lock called on a destroyed mutex`, après `visibility hidden` et avant `pagehide`. Ce comportement est enregistré comme limite de la pile Tauri/Wry/WebView observée et non contourné par une modification de `gen/android`. Il doit être retesté sur l'APK autonome de la beta afin de distinguer le mode `dev` d'un package embarqué.
Sur le Galaxy S9+ ARM64 utilisé pour la validation réelle, chargement, WASM, Canvas, assets et touch fonctionnent via le tunnel USB. Un premier smoke a observé un abort natif `FORTIFY: pthread_mutex_lock called on a destroyed mutex` pendant Back/teardown ; après passage de HTTP et HMR sur le même tunnel `1436`, le smoke `0-pre.4.fix.1` n'a pas reproduit l'abort et est allé jusqu'au détachement de la fenêtre. Le risque reste enregistré comme potentiellement intermittent et doit encore être retesté sur l'APK autonome beta ; il n'est pas contourné par une modification de `gen/android`.
## Packaging beta Android
À partir de `0.3.1-2-beta.1`, le packaging de validation utilise un APK Debug autonome contenant les deux ABI réellement testées par ce POC : `arm64-v8a` pour l'appareil physique et `x86_64` pour l'AVD. Le build reste possédé par Tauri ; son hook `beforeBuildCommand` construit le WASM release, génère les bindings, exécute TypeScript/Vite et copie les assets.
```bash
export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64
(cd crates/apps/game-snake-poc-tauri && \
cargo tauri android build --debug --apk --target aarch64 --target x86_64)
```
Ne pas lancer `npm run build` séparément pour cette gate. Tauri affiche le chemin de l'APK produit ; les outputs sous `gen/android/**/build/` sont générés et ignorés. Vérifier ensuite que l'APK contient les bibliothèques `arm64-v8a` et `x86_64`, puis installer ce même APK successivement sur l'AVD et l'appareil réel avec `adb install -r`.
Le package autonome ne doit dépendre ni de Vite, ni du port `1436`, ni d'un tunnel ADB. Le smoke beta revalide Canvas, assets, WASM, touch, lifecycle et plusieurs sorties Back.