0.3.3-0-pre.4
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: Android/README.md -->
|
||||
<!-- version: 11 -->
|
||||
<!-- version: 12 -->
|
||||
|
||||
# Android
|
||||
|
||||
@@ -74,13 +74,17 @@ Le module `common` compile contre cet artefact et `SaseGameActivity` étend `org
|
||||
|
||||
Le crate `game-android-entrypoint` produit `libgame_android_entrypoint.so`. `Android/gradle/sasedev-rust-android.gradle` transfère au graphe Gradle les responsabilités historiques d'extraction SDL3, de résolution NDK, de `cargo ndk`, de sélection de feature et de staging `jniLibs`.
|
||||
|
||||
À `0.3.3-0-pre.3`, Snake et Reflex utilisent tous deux le même pipeline commun avec deux ABI :
|
||||
À `0.3.3-0-pre.4`, Snake et Reflex utilisent tous deux le même pipeline commun avec les quatre ABI Android encore supportées par la toolchain retenue :
|
||||
|
||||
```text
|
||||
arm64-v8a
|
||||
armeabi-v7a
|
||||
x86_64
|
||||
x86
|
||||
```
|
||||
|
||||
Les ABI historiques supprimées des toolchains Android modernes, notamment `armeabi`, `mips` et `mips64`, ne font pas partie du contrat. Le support maximal signifie ici toutes les ABI encore supportées simultanément par Android NDK/SDL3/Rust, et non des architectures abandonnées par l'écosystème.
|
||||
|
||||
Chaque `assembleDebug` doit déclencher, pour chaque ABI, un build `cargo ndk` avec exactement la feature du module concerné. Les outputs sont placés sous :
|
||||
|
||||
```text
|
||||
@@ -89,9 +93,9 @@ Android/<game>/build/generated/sasedevNative/debug/<abi>/jniLibs/<abi>/
|
||||
└── libgame_android_entrypoint.so
|
||||
```
|
||||
|
||||
AGP fusionne ces sources `jniLibs` générées dans un APK Debug universal contenant les deux architectures. Aucune copie durable n'est faite dans `src/main/jniLibs`.
|
||||
AGP fusionne ces sources `jniLibs` générées dans un APK Debug universal contenant les quatre architectures. Aucune copie durable n'est faite dans `src/main/jniLibs`.
|
||||
|
||||
`scripts/build_android_rust.py` reste temporairement comme chemin historique jusqu'au jalon de fermeture `0-pre.4`; il ne fait plus partie du chemin normal `assembleDebug` de Snake ou Reflex.
|
||||
`scripts/build_android_rust.py` reste temporairement comme chemin historique jusqu'au jalon de fermeture `0-pre.5`; il ne fait plus partie du chemin normal `assembleDebug` de Snake ou Reflex.
|
||||
|
||||
## Bridge JNI et tactile
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// file: Android/game-reflex-poc/build.gradle
|
||||
// version: 46
|
||||
// version: 47
|
||||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
}
|
||||
|
||||
ext.sasedevRustGameFeature = "reflex"
|
||||
ext.sasedevRustAndroidAbis = ["arm64-v8a", "x86_64"]
|
||||
ext.sasedevRustAndroidAbis = ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
|
||||
ext.sasedevRustAndroidApi = 21
|
||||
|
||||
def sdl3AarName = providers.gradleProperty("sdl3AarName").get()
|
||||
@@ -25,7 +25,7 @@ android {
|
||||
versionName '0.2.0'
|
||||
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a', 'x86_64'
|
||||
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64', 'x86'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// file: Android/game-snake-poc/build.gradle
|
||||
// version: 47
|
||||
// version: 48
|
||||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
}
|
||||
|
||||
ext.sasedevRustGameFeature = "snake"
|
||||
ext.sasedevRustAndroidAbis = ["arm64-v8a", "x86_64"]
|
||||
ext.sasedevRustAndroidAbis = ["arm64-v8a", "armeabi-v7a", "x86_64", "x86"]
|
||||
ext.sasedevRustAndroidApi = 21
|
||||
|
||||
def sdl3AarName = providers.gradleProperty("sdl3AarName").get()
|
||||
@@ -25,7 +25,7 @@ android {
|
||||
versionName '0.2.0'
|
||||
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a', 'x86_64'
|
||||
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64', 'x86'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user