Files
games/crates/apps/game-snake-poc-tauri/USAGE.md

3.4 KiB

Utilisation — Snake Tauri Android

Prérequis locaux

Le host utilise Cargo/Rust, cargo tauri, Node/npm, wasm-bindgen, Java et le SDK Android. Le dépôt attend ANDROID_HOME vers le SDK Android et des NDK side-by-side sous $ANDROID_HOME/ndk/<version>.

NDK_HOME n'est pas un prérequis utilisateur du projet. Tauri sélectionne la version NDK side-by-side appropriée sous $ANDROID_HOME/ndk/<version> et peut injecter lui-même NDK_HOME dans ses sous-processus Android. Une variable globale ne doit donc pas être ajoutée uniquement pour satisfaire la documentation générique de Tauri.

Pour 0.3.1, le JDK Android de référence est JDK 17. Le template Tauri 2.11.x utilisé par le projet génère Gradle 8.14.3 avec Android Gradle Plugin 8.11.0 : AGP 8.11 exige au minimum JDK 17 et Gradle 8.14.x ne peut pas s'exécuter sur Java 25. JDK 17 fournit donc la baseline reproductible commune aux deux contraintes.

Le Java 25 global de la machine de validation peut rester installé. En revanche, le JBR de l'Android Studio actuellement installé est lui aussi Java 25 et ne doit donc pas être utilisé pour cette gate malgré la recommandation générique de Tauri d'utiliser le JBR d'Android Studio. Le Gradle global installé sur la machine n'est pas utilisé par gen/android/gradlew et n'est pas un prérequis du projet.

Avant une commande Tauri Android, sélectionner explicitement un JDK 17 installé et vérifier la version :

export JAVA_HOME=/chemin/vers/jdk-17
"$JAVA_HOME/bin/java" -version

Ne pas modifier gen/android pour contourner une incompatibilité de JDK.

Pour les cibles actuellement disponibles, aarch64-linux-android permet le smoke sur l'appareil ARM64 et x86_64-linux-android celui des AVD x86_64. Les autres ABI ne sont pas requises pour 0-pre.2.

Initialisation locale

Installer les dépendances frontend dans la crate :

(cd crates/apps/game-snake-poc-tauri && npm install)

Initialiser une fois le projet Android généré par Tauri :

(cd crates/apps/game-snake-poc-tauri && cargo tauri android init)

Le répertoire gen/ produit par Tauri est généré et ignoré ; il n'appartient pas aux deltas et ne doit pas être patché par des scripts propres au jeu.

Si ce répertoire a été créé ou modifié par 0-pre.2.fix.1, il est pollué par la tentative abandonnée de migration Gradle 9. Il faut alors le régénérer intégralement avec la CLI Tauri officielle, sous JDK 17 :

rm -rf crates/apps/game-snake-poc-tauri/gen/android
(cd crates/apps/game-snake-poc-tauri && cargo tauri android init)

L'audit de distribution vérifie désormais un gen/android présent et refuse un wrapper/AGP qui ne correspondent pas au template Tauri 2.11.x attendu.

Smoke Android de développement

Lancer ensuite :

(cd crates/apps/game-snake-poc-tauri && cargo tauri android dev)

Choisir l'appareil réel ou l'AVD voulu lorsque la CLI le demande. Le frontend doit afficher une provenance android / tauri-webview / wasm / unknown / unknown et les événements de démarrage doivent apparaître dans le tracing/logcat.

Ne pas utiliser npm run dev ou npm run build comme gate manuelle : ces scripts sont des hooks internes possédés par Tauri. cargo tauri android build reste réservé au jalon de packaging prévu par le plan, sauf diagnostic explicite.