the error indicates a build problem. the error means the version of the dlls in the deployment, don't match the version used in the build.
I can't run MUAI release build on Android devices
I'm developing a MAUI application. During development I was able to run it from Visual Studio without any problems in debug mode. Now that I have to send it to the customer I tried to run it in release mode, and it turns out that I can't run it. Generating an APK and installing it doesn't work either, the splash screen opens and then the application closes.
Information about the execution environment:
- Visual Studio 2022 (version 17.10.3)
- .NET 8
Nuget packages:
- Camera.MAUI.ZXing 1.0.0
- CommunityToolkit.Maui 9.0.2
- CommunityToolkit.Mvvm 8.2.2
- Microsoft.Extensions.Logging.Debug 8.0.0
- Microsoft.Maui.Controls 8.0.70 (also tested with 8.0.40)
- Microsoft.Maui.Controls.Compatibility 8.0.70 (also tested with 8.0.40)
- Microsoft.NET.ILLink.Tasks 8.0.6
Running with Maui.Controls 8.0.70, I can read this in the logcat:
<no-tag> my.app.id E * Assertion at /__w/1/s/src/mono/mono/mini/aot-runtime.c:2531, condition `is_ok (error)' not met, function:decode_cached_class_info, Image out of date: Microsoft.Maui.Controls.dll.so
libc my.app.id A Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 15005 (g.my.app.namespace), pid 15005 (g.my.app.namespace)
GameManagerService system_server D handleForegroundChange(). pkgName: my.app.id, clsName: crc647c0b3fe13d23896f.MainActivity,FgActivityName:my.app.id/crc647c0b3fe13d23896f.MainActivity,userID:0
DEBUG crash_dump64 A pid: 15005, tid: 15005, name: g.my.app.namespace >>> my.app.id <<<
DEBUG crash_dump64 A #01 pc 000000000001f360 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonodroid.so (xamarin::android::Helpers::abort_application()+8)
DEBUG crash_dump64 A #02 pc 0000000000035660 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonodroid.so (xamarin::android::internal::MonodroidRuntime::mono_log_handler(char const*, char const*, char const*, int, void*)+144)
DEBUG crash_dump64 A #03 pc 00000000001d71e4 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so
DEBUG crash_dump64 A #04 pc 00000000001d7310 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so
DEBUG crash_dump64 A #05 pc 000000000013a220 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so
DEBUG crash_dump64 A #06 pc 000000000013a3f0 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so
DEBUG crash_dump64 A #07 pc 000000000020b364 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so (mono_class_init_internal+436)
DEBUG crash_dump64 A #08 pc 00000000002075f8 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so (mono_ldtoken_checked+572)
DEBUG crash_dump64 A #09 pc 00000000000c0740 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so
DEBUG crash_dump64 A #10 pc 000000000013d934 /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so
DEBUG crash_dump64 A #11 pc 000000000013eaec /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so
DEBUG crash_dump64 A #12 pc 00000000001526cc /data/app/my.app.id-4SnY1byY9bitVBb9Oy8osA==/lib/arm64/libmonosgen-2.0.so
ActivityManager system_server W crash : my.app.id,0
audit auditd E type=1701 audit(1722246781.309:1009): auid=4294967295 uid=10485 gid=10485 ses=4294967295 subj=u:r:untrusted_app:s0:c229,c257,c512,c768 pid=15005 comm="g.my.app.namespace" exe="/system/bin/app_process64" sig=6
ActivityManager system_server W Force finishing activity my.app.id/crc647c0b3fe13d23896f.MainActivity
AppErrorNotification com.samsung.android.lool D errorType : 24, process : my.app.id , uid : 0
ActivityManager system_server I Process my.app.id (pid 15005) has died: vis +99TOP (257,1574)
WindowManager system_server E win=Window{4a0b711 u0 Splash Screen my.app.id EXITING} destroySurfaces: appStopped=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0 caller=com.android.server.wm.AppWindowToken.destroySurfaces:871 com.android.server.wm.AppWindowToken.destroySurfaces:852 com.android.server.wm.WindowState.onExitAnimationDone:5480 com.android.server.wm.-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4.accept:2 java.util.ArrayList.forEach:1262 com.android.server.wm.AppWindowToken.onAnimationFinished:2408 com.android.server.wm.AppWindowToken.setVisibility:552
Running with Maui.Controls 8.0.40, I can read this in the logcat:
AndroidRuntime my.app.id E FATAL EXCEPTION: main
Process: my.app.id, PID: 17722
android.runtime.JavaProxyThrowable: [System.Reflection.TargetInvocationException]: Arg_TargetInvocationException
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Unknown Source:0)
at System.RuntimeType.CreateInstanceMono(Unknown Source:0)
at System.RuntimeType.CreateInstanceDefaultCtor(Unknown Source:0)
at System.Activator.CreateInstance(Unknown Source:0)
at System.Activator.CreateInstance(Unknown Source:0)
at System.Activator.CreateInstance(Unknown Source:0)
at Microsoft.Maui.Controls.ShellContent+<>c__DisplayClass19_0.<Microsoft.Maui.Controls.IShellContentController.GetOrCreateContent>b__0(Unknown Source:0)
at Microsoft.Maui.Controls.ElementTemplate.CreateContent(Unknown Source:0)
at Microsoft.Maui.Controls.Internals.DataTemplateExtensions.CreateContent(Unknown Source:0)
at Microsoft.Maui.Controls.ShellContent.Microsoft.Maui.Controls.IShellContentController.GetOrCreateContent(Unknown Source:0)
at Microsoft.Maui.Controls.Platform.Compatibility.ShellSectionRenderer.OnCreateView(Unknown Source:0)
at AndroidX.Fragment.App.Fragment.n_OnCreateView_Landroid_view_LayoutInflater_Landroid_view_ViewGroup_Landroid_os_Bundle_(Unknown Source:0)
at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPLLL_L(Unknown Source:0)
at crc640ec207abc449b2ca.ShellSectionRenderer.n_onCreateView(Native Method)
at crc640ec207abc449b2ca.ShellSectionRenderer.onCreateView(ShellSectionRenderer.java:44)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3114)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:557)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1943)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1845)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3042)
at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:2945)
at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3148)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:588)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1943)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1845)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3042)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2952)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1395)
at android.app.Activity.performStart(Activity.java:7348)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3145)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
AndroidRuntime my.app.id E at android.app.ActivityThread.main(ActivityThread.java:7078)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
I don't know what other information could be helpful in solving the problem.