Skip to content

[Bug]: libmsalruntime.so in Microsoft.Identity.Client.NativeInterop fails 16 KB page size requirement on Android 16 / Play Store rejection #5510

@hsbNicolas

Description

@hsbNicolas

Library version used

4.76.0

.NET version

•	Platform: Uno Platform 6.2 / .NET 9
•	Visual Studio: 2022 (latest, with NDK r26b)
•	NuGet packages in use:
•	Microsoft.Identity.Client 4.76.0
•	Microsoft.Identity.Client.Broker 4.76.0
•	Microsoft.Identity.Client.Extensions.Msal 4.76.0
•	(NativeInterop 0.19.4 pulled in transitively)

Also happening with version: 4.77.1

Scenario

PublicClient - mobile app

Is this a new or an existing app?

The app is in production, I haven't upgraded MSAL, but started seeing this issue

Issue description and reproduction steps

When building an Uno Platform app targeting .NET 9 with the latest MSAL packages, the Android build includes libmsalruntime.so from Microsoft.Identity.Client.NativeInterop.

Google Play Console rejects the release because libmsalruntime.so does not support 16 KB memory page sizes (required starting with Android 16 and already enforced for new uploads).

This blocks publishing updates to the Play Store for apps that include MSAL with broker/native interop.

Error Log:

Android 16 will require 16 KB page sizes, shared library 'libmsalruntime.so' does not have a 16 KB page size.
Please inform the authors of the NuGet package 'Microsoft.Identity.Client.NativeInterop' version '0.19.4'
which contains 'runtimes/linux-x64/native/libmsalruntime.so'.
See https://developer.android.com/guide/practices/page-sizes for more details.

Steps to Reproduce
1. Create a new Uno / Xamarin.Android / .NET Android project.
2. Add MSAL packages including Broker (Microsoft.Identity.Client.Broker).
3. Build for Release and publish .aab.
4. Upload to Google Play Console → rejection due to 16 KB page size incompatibility in libmsalruntime.so.

References
Android Developer Docs: 16 KB page size support

Impact
• Blocks publishing to Play Store for Android 16 devices.
• Applications depending on MSAL broker functionality cannot ship updates until libmsalruntime.so is rebuilt for 16 KB.

Expected behavior

Expected Behavior
• MSAL NativeInterop libraries should be built with NDK r26+ so that libmsalruntime.so supports 16 KB page sizes.
• Play Console validation should pass, allowing submission to Android 16 devices.

Actual Behavior
• Play Console rejects the .aab with a 16 KB page size incompatibility.
• Only workaround is to exclude NativeInterop, which breaks broker functionality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions