You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Improve "first run" build & run time inside VS #8662
If you have no device attached, it just builds all 4 $(RuntimeIdentifiers).
Problem
This can slow down the 1st time experience for MAUI on Android, as there would be no emulators running or Android devices attached. This builds 4 architectures for no reason.
Solution 1
The IDE passes $(RuntimeIdentifier) to builds. This could be problematic as right now project defaults are:
Activity
[-]Improve "first run" build & run time[/-][+]Improve "first run" build & run time inside VS[/+][Xamarin.Android.Build.Tasks] remove `$(AndroidSupportedAbis)` from `…
[Xamarin.Android.Build.Tasks] remove `$(AndroidSupportedAbis)` from `…
[Xamarin.Android.Build.Tasks] remove `$(AndroidSupportedAbis)` from `…
jonathanpeppers commentedon Aug 15, 2024
This scenario is also improved by:
jonathanpeppers commentedon Aug 15, 2024
The current proposal is:
-p:AdbTargetArchitectureadb devicesdoesn't report anything-p:AdbTargetat this time eitherSo, the build could:
_GetPrimaryCpuAbiif$(AdbTargetArchitecture)is set$(RuntimeIdentifiers), etc.By the time the IDE Deploys, or runs the
Installtarget:Installwill be passed-p:AdbTargetas before, and passed-p:AdbTargetArchitecturefor completeness (this way_GetPrimaryCpuis skipped).jonathanpeppers commentedon Aug 15, 2024
/cc @dellis1972 @tondat
dellis1972 commentedon Aug 16, 2024
If the IDE knows what emulator it is going to launch before we do the build then this might work 👍
[tests] add test for `$(AdbTargetArchitecture)`
[tests] add test for `$(AdbTargetArchitecture)`
[tests] add test for `$(AdbTargetArchitecture)` (#9227)
[tests] add test for `$(AdbTargetArchitecture)` (dotnet#9227)
[tests] add test for `$(AdbTargetArchitecture)` (#9227) (#9317)