-
Notifications
You must be signed in to change notification settings - Fork 531
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Need to support per-ABI mscorlib.dll
files
#4337
Comments
|
Proposal: the Then when looking for an assembly, we for |
Do we expect to have more assemblies like |
(2) isn't your concern anymore with .NET 5. There's a reference assembly that will be used to compile the app/library code against. |
I think (1) installation is something what XA won't control at all |
The entire BCL will need to be treated in this way by my understanding, not just mscorlib. Both 1 and 2 should be handled by the .NET Core installation / build system. At build time, our project will compile against the "reference assembly" version of these assemblies which will be resolved through the This I like the proposal of introducing a
instead of
I'm not sure if that is any worse or better than the |
No, System.Private.CoreLib.dll is the only managed assembly with this architecture-specific build right now. |
@pjcollins if we're to treat the entire BCL like this then we'll be in trouble wrt apk size for multi-arch apps. Well, I guess we're going to have a size increase problem anyway... |
@akoeplinger I guess we shouldn't assume this is going to remain unchanged... We need to come up with a mechanism that deals with it now, trying to pay as small price as possible both regarding the apk size and the runtime performance. Is there any way to tell an arch-specific assembly from a "pure" managed one? |
@grendello why does it matter? isn't the app bundle size not relevant? |
@marek-safar if we ship AAB then it (mostly) doesn't matter as long as Google Play Store can determine how to split it up - in this case we most probably need to put the arch-specific assemblies in the |
Is this actual problem if AAB does know how to handle it correctly? |
@marek-safar until AAB is the only way to distribute Android apps, it is a problem, yes. |
Why? Devs have 2 options when they target a single target and 1 option if they target more than 1 target so we have solution nonetheless |
@marek-safar Devs have 3 options:
|
We suspect this issue is stale and no longer relevant. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process. |
This issue will now be closed since it had been marked |
As part of the .NET 5 effort, the
dotnet/runtime
-based mono runtime will support (require?) per-ABImscorlib.dll
files: different files will be used between 32-bit and 64-bit environments and between ARM vs. x86.Supporting this will require changing at least four separate areas:
Installation: we can no longer have just
xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll
, but will presumably havexbuild/Xamarin/Android/lib/x86/bcl/mscorlib.dll
/etc., one per ABI.Build: Which
mscorlib.dll
is used for build purposes? Presumably we'd have to preservexbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll
and have it either be a copy of some ABI or be a "reference assembly"?Packaging: The
.apk
/.aab
file will need to add these per-ABImscorlib.dll
files. How do we do that? We currently have a "flat"assemblies/
directory within the.apk
to store all assemblies, but that won't work as-is anymore.Runtime: How do we specify which
mscorlib.dll
gets loaded? Is this somethinglibmonodroid.so
needs to explicitly control, or willlibmonosgen-2.0.so
control it, or...?Lots of unknowns.
The text was updated successfully, but these errors were encountered: