xamarinxamarin.formsxamarin.androidxamarin.iosmonodevelop

How to fix Xamarin Android: Mono Shared MonoRuntime is not supported


When I deploy (or archive) my Xamarin.Android application and attempt to use the .APK file in a UI test I am met with this error. My configuration is exactly how it should be for a release build. (PLEASE READ TO THE END)

System.Exception : Mono Shared Runtime is not supported. This can be resolved by changing the project configuration or using a Release build.

Stack Trace

ApkFile.EnsureNoSharedRuntime()
AndroidAppInitializer.PrepareApkFiles(IAndroidAppConfiguration appConfiguration, ArtifactFolder artifactFolder)
AndroidApp.ctor(IAndroidAppConfiguration appConfiguration, IExecutor executor)
AndroidAppConfigurator.StartApp(AppDataMode appDataMode)
AppInitializer.StartApp(Platform platform)
Tests.BeforeEachTest()

AndroidManifest.xml

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>portable</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AndroidManagedSymbols>true</AndroidManagedSymbols>
    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
    <AotAssemblies>false</AotAssemblies>
    <EnableLLVM>false</EnableLLVM>
    <AndroidEnableProfiledAot>true</AndroidEnableProfiledAot>
    <BundleAssemblies>false</BundleAssemblies>
    <EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
    <AndroidSupportedAbis />
</PropertyGroup>

This is ridiculous I have seen questions about this going up to FIVE years back and many unanswered. If someone knows a fix to this please let's help me and everyone else having this issue.

I literally created a brand new project with VS2022 and even on the release config. this error still shows on both emulated and physical devices.

Update: When the project is built and signed with Azure Devops the .APK file works on UITest. I am convinced this is a Visual Studio APK deployment problem.


Solution

  • We've had similar problems before, you can try the following methods:

    1.in release mode,please make sure you uncheck use Fast Deployment(debug mode only);

    2.make sure update your nuget to the latest one,the old Nuget had this issue;

    3.If the problem persists,you can try the following workaround: set

     <AndroidUseAssemblyStore>false</AndroidUseAssemblyStore>
    

    in the configuration you are using with Xamarin.UITest.

    4.try to delete obj and bin folders in your app and try again.