-
Notifications
You must be signed in to change notification settings - Fork 379
Description
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.