The qemu install path used to crash on startup with 'No assemblies found in files/.__override__/<rid>': monodroid-glue.cc:757 / SIGABRT. Root cause: the .NET 10 Android SDK defaults to Fast Deployment in Debug, which ships the APK without managed assemblies and pushes them at runtime via adb — not viable on the qemu emulator. Fix: - Replace the no-op -p:AndroidEnableFastDeployment=false flag (does not exist as an MSBuild property in the .NET 10 SDK) with -p:EmbedAssembliesIntoApk=true, which forces the build to cross-compile the managed assemblies into native lib_*.dll.so libraries for every ABI and pack them into the APK under lib/<arch>/. The Mono runtime then loads them directly, bypassing the Fast Deployment code path entirely. - Add CONFIG variable passthrough so 'make qemu-install CONFIG=Release' builds an optimised APK for release smoke tests. - qemu-build now consumes $(CONFIG) instead of hardcoded 'Debug' for the APK output path. Side effect: the Debug APK balloons from ~13 MB (libs only) to ~160 MB (libs + AOT-compiled assemblies for all four supported ABIs). That is acceptable for the local qemu install path; the Forgejo release workflow builds Release APKs separately and is unaffected. Validated end-to-end on this machine: AVD boots in 109s, the build produces an APK with lib_*.dll.so for x86_64 (125 MB), uninstall + reinstall + am start no longer aborts at monodroid-glue.cc:757 (next test will confirm the app actually renders, this commit only fixes the Fast Deployment crash). Also adds qemu-logcat-boot target from the previous edit (unchanged, documented in this commit message for context).
44 lines
845 B
Text
44 lines
845 B
Text
# Exclure uniquement les dossiers de sortie de compilation
|
|
bin/
|
|
obj/
|
|
src/*/bin/
|
|
src/*/obj/
|
|
test/*/bin/
|
|
test/*/obj/
|
|
|
|
# Toolchain front (Node / esbuild)
|
|
node_modules/
|
|
build/
|
|
package-lock.json
|
|
|
|
# Exclure les caches lourds
|
|
.git/
|
|
.vs/
|
|
|
|
.env
|
|
|
|
.*.env
|
|
|
|
*.csproj.lscache
|
|
data/
|
|
appsettings.*.json
|
|
appsettings-*.*.json
|
|
|
|
# Exception: the Testing-environment override for Yavsc.Org is a tracked
|
|
# configuration source, not a secrets file. TestWebApplicationFactory
|
|
# (Yavsc.Org.Tests) flips ASPNETCORE_ENVIRONMENT to "Testing" so
|
|
# AddConfiguration("org") in Program.Main loads this file as the
|
|
# last in the chain (it is optional). It overrides the connection
|
|
# string and SMTP section for the in-memory test host and contains
|
|
# no production secrets.
|
|
!src/Yavsc.Org/appsettings-org.Testing.json
|
|
|
|
generated/
|
|
*.tmp
|
|
DataDir/
|
|
|
|
*.tests.trx
|
|
*.tests.html
|
|
|
|
*.log
|
|
|