-
Notifications
You must be signed in to change notification settings - Fork 565
Description
Description
Summary MAUI .NET 10 Android apps crash immediately on splash screen after “Clear Storage” or reinstall. The crash occurs before any managed code executes. This is caused by Visual Studio incorrectly packaging native libraries and leaving Fast Deployment artifacts active in Release builds.
Environment
• .NET MAUI 10
• Microsoft.Maui.Controls" Version="10.0.30"
• Visual Studio 2026 Insiders [11415.281]
• Android 14 (API 34)
• Physical device or emulator
• Release build
• Fast Deployment previously used in Debug mode
Reproduction Steps
- Build and deploy a MAUI .NET 10 Android app in Debug mode (Fast Deployment ON by default).
- Switch to Release mode.
- Deploy the app.
- On the device: Clear Storage or uninstall/reinstall the app.
- Launch the app.
Actual Behavior
App crashes instantly on splash screen. No managed exception is thrown. Debugger does not catch the crash. App never reaches MauiProgram.CreateMauiApp() or App() constructor.
Logcat Output
Koda
No assemblies found in '/data/user/0//files/.override/x86_64'
Assuming this is part of Fast Deployment. Exiting...
ALL entries in APK namedlib/x86_64/MUST be STORED. Gradle's minification may COMPRESS such entries.
Fatal signal 6 (SIGABRT)
Root Cause
Visual Studio incorrectly: - Leaves Fast Deployment override logic active in Release builds.
- Packages native libraries under lib/x86_64/ as compressed, not stored.
- Causes MAUI runtime to search for .override assemblies that do not exist.
- Triggers a native SIGABRT before managed code starts.
This is a tooling bug, not an application bug.
Expected Behavior
• Release builds should never reference Fast Deployment override paths.
• Native libraries must always be packaged as “stored”, not “compressed”.
• App should start normally after Clear Storage or reinstall.
Workaround (Confirmed Fix)
Add the following to .csproj:
<AndroidUseFastDeployment>false</AndroidUseFastDeployment>
<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
<AndroidPackageFormat>aab</AndroidPackageFormat>
AndroidUseFastDeployment = false
EmbedAssembliesIntoApk = true
AndroidPackageFormat = aab
Then:
- Delete bin/ and obj/
- Uninstall the app from the device
- Rebuild and redeploy
After this, the crash disappears.
Why This Needs Fixing
• Every MAUI .NET 10 Android developer will hit this issue.
• The crash is silent, native, and extremely difficult to diagnose.
• It happens on a clean install or Clear Storage — a critical scenario for end users.
• Developers will incorrectly assume their code is broken.
Request
Please fix the packaging pipeline so that:
• Fast Deployment artifacts are never included in Release builds
• Native libraries are always stored, not compressed
• MAUI runtime does not attempt to load .override assemblies in Release mode
Steps to Reproduce
Reproduction Steps (copy/paste)
Build and deploy a .NET MAUI 10 Android app in Debug mode (Fast Deployment ON by default).
Switch to Release mode.
Deploy the app to an Android 14 (API 34) device or emulator.
On the device, open App info → Storage → Clear Storage
(or uninstall the app and reinstall it)
Launch the app.
Observed Behavior
The app crashes immediately on the splash screen.
No managed code executes (does not reach MauiProgram.CreateMauiApp).
Logcat shows MAUI runtime searching for .override Fast Deployment directories in Release mode.
Native SIGABRT is thrown.
Link to public reproduction project repository
No response
Version with bug
10.0.30
Is this a regression from previous behavior?
Yes, this used to work in .NET MAUI
Last version that worked well
10.0.0
Affected platforms
Android
Affected platform versions
Android 14 (API 34) – crash occurs consistently Device/emulator: any (tested on multiple), NET 10
Did you find any workaround?
Yes. A full workaround exists and completely prevents the crash.
To avoid the native SIGABRT on splash, add the following settings to your .csproj:
false true apk
Then perform a clean rebuild:
Delete bin/ and obj/
Uninstall the app from the device
Rebuild and redeploy
This forces MAUI to:
stop referencing the .override Fast Deployment directory
embed all assemblies directly into the APK
package native libraries as stored, not compressed
After applying this workaround, the crash disappears completely.
Relevant log output
01-21 15:36:27.568 W/oft.mobilevault(14535): Attempt to remove non-JNI local reference
01-21 15:36:27.568 W/monodroid-debug(14535): Trying to initialize the debugger with options: --debugger-agent=transport=dt_socket,loglevel=0,address=10.0.2.2:64562,embedding=1,timeout=30000
01-21 15:36:27.568 F/monodroid(14535): No assemblies found in '/data/user/0/com.mugogisoft.mobilevault/files/.__override__/x86_64' or '<unavailable>'. Assuming this is part of Fast Deployment. Exiting...
01-21 15:36:27.568 F/monodroid(14535): ALL entries in APK named `lib/x86_64/` MUST be STORED. Gradle's minification may COMPRESS such entries.
01-21 15:36:27.568 F/monodroid(14535): Abort at monodroid-glue.cc:757:3 ('static MonoDomain *xamarin::android::internal::MonodroidRuntime::create_domain(JNIEnv *, jstring_array_wrapper &, bool, bool)')
01-21 15:36:27.568 F/libc (14535): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 14535 (oft.mobilevault), pid 14535 (oft.mobilevault)