Skip to content

.NET 10 app built with AndroidEnableAssemblyCompression=false crashes at launch: cannot locate symbol "compressed_assembly_count" #13247

Open

Description

@yasmoradi

Android framework version

net10.0-android

Affected platform version

.NET SDK 10.0.402, Microsoft.Android.Sdk 36.1.69 and 36.1.118

Description

A Release build with AndroidEnableAssemblyCompression=false doesn't start: libmonodroid.so references compressed_assembly_count, which isn't there when compression is off. It happens on both Mono and CoreCLR (UseMonoRuntime=false). The same app on .NET 11 RC2 runs fine.

Steps to Reproduce

  1. dotnet new android
  2. Add <AndroidEnableAssemblyCompression>false</AndroidEnableAssemblyCompression>
  3. dotnet publish -c Release -r android-x64 -p:AndroidPackageFormat=apk
  4. Install the signed APK and launch it (API 36 x64 emulator)

Did you find any workaround?

Only leaving compression on.

Relevant log output

E AndroidRuntime: FATAL EXCEPTION: main
E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "compressed_assembly_count" referenced by "/data/app/.../lib/x86_64/libmonodroid.so"...
E AndroidRuntime:     at java.lang.System.loadLibrary(System.java:1765)
E AndroidRuntime:     at mono.MonoPackageManager.LoadApplication(MonoPackageManager.java:114)
E AndroidRuntime:     at mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:21)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions