Skip to content
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

Release incremental builds are slow #9641

Open
blackholeearth opened this issue Dec 20, 2024 · 2 comments
Open

Release incremental builds are slow #9641

blackholeearth opened this issue Dec 20, 2024 · 2 comments
Assignees
Labels
Area: App+Library Build Issues when building Library projects or Application projects. Area: Performance Issues with performance.

Comments

@blackholeearth
Copy link

blackholeearth commented Dec 20, 2024

Description

i set vs2022 maui android project to release .

every build , it creates 77 .dll.so files.

on my machine;;

  • 77 dll generation part takes 45 seconds
  • total build time is 2:45 min

... 40seconds profit.. if we can skip it.

can we skip if dll.so files exists or unchanged.. ???

if there is c# build script that is doing this build action - i can try to do it myself. just direct me in right path.


Video.mp4

vs2022 - build output


1>MauiApp1 -> D:\_test_gui_proj\MauiApp1\bin\Release\net8.0-android\MauiApp1.dll
1>Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing.
 See: https://aka.ms/dotnet-illink

1>Optimizing assemblies for size. This process might take a while.
1>Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. 
1>Optimizing assemblies for size. This process might take a while.
1>Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing 
1>Optimizing assemblies for size. This process might take a while.

1>Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing.  
1>Optimizing assemblies for size. This process might take a while.
1>[1/77] Microsoft.Extensions.Logging.dll -> Microsoft.Extensions.Logging.dll.so
1>[2/77] Microsoft.Extensions.Primitives.dll -> Microsoft.Extensions.Primitives.dll.so
1>[3/77] Microsoft.Extensions.Configuration.dll -> Microsoft.Extensions.Configuration.dll.so
1>[4/77] _Microsoft.Android.Resource.Designer.dll -> _Microsoft.Android.Resource.Designer.dll.so
1>[5/77] Microsoft.Extensions.DependencyInjection.Abstractions.dll -> Microsoft.Extensions.DependencyInjection.Abstractions.dll.so
1>[6/77] Microsoft.Extensions.Logging.Abstractions.dll -> Microsoft.Extensions.Logging.Abstractions.dll.so
1>[7/77] Microsoft.Extensions.Options.dll -> Microsoft.Extensions.Options.dll.so
1>[8/77] Microsoft.Extensions.Configuration.Abstractions.dll -> Microsoft.Extensions.Configuration.Abstractions.dll.so
1>[9/77] Microsoft.Extensions.DependencyInjection.dll -> Microsoft.Extensions.DependencyInjection.dll.so
1>[10/77] Xamarin.AndroidX.CardView.dll -> Xamarin.AndroidX.CardView.dll.so
1>[11/77] Xamarin.AndroidX.Activity.dll -> Xamarin.AndroidX.Activity.dll.so
1>[12/77] Xamarin.AndroidX.AppCompat.AppCompatResources.dll -> Xamarin.AndroidX.AppCompat.AppCompatResources.dll.so
1>[13/77] Microsoft.Maui.Essentials.dll -> Microsoft.Maui.Essentials.dll.so
1>[14/77] Xamarin.AndroidX.AppCompat.dll -> Xamarin.AndroidX.AppCompat.dll.so
1>[15/77] Xamarin.AndroidX.Collection.dll -> Xamarin.AndroidX.Collection.dll.so
1>[1/77] _Microsoft.Android.Resource.Designer.dll -> _Microsoft.Android.Resource.Designer.dll.so
1>[16/77] Xamarin.AndroidX.CustomView.dll -> Xamarin.AndroidX.CustomView.dll.so
1>[17/77] Microsoft.Maui.Graphics.dll -> Microsoft.Maui.Graphics.dll.so
1>[18/77] CommunityToolkit.Maui.Markup.dll -> CommunityToolkit.Maui.Markup.dll.so
1>[1/77] _Microsoft.Android.Resource.Designer.dll -> _Microsoft.Android.Resource.Designer.dll.so
1>[19/77] Xamarin.AndroidX.CoordinatorLayout.dll -> Xamarin.AndroidX.CoordinatorLayout.dll.so
1>[20/77] Xamarin.AndroidX.CursorAdapter.dll -> Xamarin.AndroidX.CursorAdapter.dll.so
1>[21/77] Xamarin.AndroidX.Core.dll -> Xamarin.AndroidX.Core.dll.so
1>[22/77] Xamarin.AndroidX.Fragment.dll -> Xamarin.AndroidX.Fragment.dll.so
1>[23/77] Xamarin.AndroidX.DrawerLayout.dll -> Xamarin.AndroidX.DrawerLayout.dll.so
1>[24/77] Microsoft.Maui.Controls.Xaml.dll -> Microsoft.Maui.Controls.Xaml.dll.so
1>[25/77] Xamarin.AndroidX.Lifecycle.Common.dll -> Xamarin.AndroidX.Lifecycle.Common.dll.so
1>[26/77] Xamarin.AndroidX.Lifecycle.LiveData.Core.dll -> Xamarin.AndroidX.Lifecycle.LiveData.Core.dll.so
1>[27/77] Xamarin.AndroidX.Lifecycle.ViewModel.dll -> Xamarin.AndroidX.Lifecycle.ViewModel.dll.so
1>[28/77] Xamarin.AndroidX.Loader.dll -> Xamarin.AndroidX.Loader.dll.so
1>[29/77] Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll -> Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll.so
1>[30/77] Xamarin.AndroidX.Navigation.Common.dll -> Xamarin.AndroidX.Navigation.Common.dll.so
1>[31/77] Xamarin.AndroidX.Navigation.Fragment.dll -> Xamarin.AndroidX.Navigation.Fragment.dll.so
1>[32/77] Xamarin.AndroidX.Navigation.Runtime.dll -> Xamarin.AndroidX.Navigation.Runtime.dll.so
1>[33/77] Xamarin.AndroidX.Navigation.UI.dll -> Xamarin.AndroidX.Navigation.UI.dll.so
1>[34/77] Xamarin.AndroidX.SavedState.dll -> Xamarin.AndroidX.SavedState.dll.so
1>[35/77] Xamarin.AndroidX.SwipeRefreshLayout.dll -> Xamarin.AndroidX.SwipeRefreshLayout.dll.so
1>[36/77] Xamarin.AndroidX.RecyclerView.dll -> Xamarin.AndroidX.RecyclerView.dll.so
1>[37/77] Microsoft.Maui.dll -> Microsoft.Maui.dll.so
1>[38/77] Xamarin.AndroidX.ViewPager.dll -> Xamarin.AndroidX.ViewPager.dll.so
1>[39/77] Xamarin.KotlinX.Coroutines.Core.Jvm.dll -> Xamarin.KotlinX.Coroutines.Core.Jvm.dll.so
1>[40/77] MauiApp1.dll -> MauiApp1.dll.so
1>[41/77] Xamarin.Kotlin.StdLib.dll -> Xamarin.Kotlin.StdLib.dll.so
1>[42/77] System.Collections.Concurrent.dll -> System.Collections.Concurrent.dll.so
1>[43/77] Xamarin.Google.Android.Material.dll -> Xamarin.Google.Android.Material.dll.so
1>[44/77] Xamarin.AndroidX.ViewPager2.dll -> Xamarin.AndroidX.ViewPager2.dll.so
1>[45/77] System.Collections.NonGeneric.dll -> System.Collections.NonGeneric.dll.so
1>[46/77] System.Console.dll -> System.Console.dll.so
1>[47/77] System.Collections.dll -> System.Collections.dll.so
1>[48/77] System.ComponentModel.Primitives.dll -> System.ComponentModel.Primitives.dll.so
1>[49/77] System.ComponentModel.TypeConverter.dll -> System.ComponentModel.TypeConverter.dll.so
1>[50/77] System.ComponentModel.dll -> System.ComponentModel.dll.so
1>[51/77] System.Diagnostics.DiagnosticSource.dll -> System.Diagnostics.DiagnosticSource.dll.so
1>[52/77] System.IO.Compression.Brotli.dll -> System.IO.Compression.Brotli.dll.so
1>[53/77] System.IO.Compression.dll -> System.IO.Compression.dll.so
1>[54/77] System.Linq.Expressions.dll -> System.Linq.Expressions.dll.so
1>[55/77] System.Memory.dll -> System.Memory.dll.so
1>[56/77] System.Linq.dll -> System.Linq.dll.so
1>[57/77] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
1>[58/77] System.Net.Primitives.dll -> System.Net.Primitives.dll.so
1>[59/77] System.Net.Requests.dll -> System.Net.Requests.dll.so
1>[60/77] System.ObjectModel.dll -> System.ObjectModel.dll.so
1>[61/77] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
1>[2/77] MauiApp1.dll -> MauiApp1.dll.so
1>[62/77] System.Runtime.Loader.dll -> System.Runtime.Loader.dll.so
1>[63/77] System.Private.Uri.dll -> System.Private.Uri.dll.so
1>[64/77] System.Private.Xml.dll -> System.Private.Xml.dll.so
1>[65/77] System.Net.Http.dll -> System.Net.Http.dll.so
1>[66/77] System.Runtime.dll -> System.Runtime.dll.so
1>[67/77] System.Security.Cryptography.dll -> System.Security.Cryptography.dll.so
1>[68/77] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
1>[69/77] System.Threading.dll -> System.Threading.dll.so
1>[70/77] System.dll -> System.dll.so
1>[71/77] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
1>[2/77] MauiApp1.dll -> MauiApp1.dll.so
1>[72/77] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
1>[73/77] Microsoft.Maui.Controls.dll -> Microsoft.Maui.Controls.dll.so
1>[74/77] System.Text.RegularExpressions.dll -> System.Text.RegularExpressions.dll.so
1>[75/77] Java.Interop.dll -> Java.Interop.dll.so
1>[76/77] Mono.Android.dll -> Mono.Android.dll.so
1>[3/77] CommunityToolkit.Maui.Markup.dll -> CommunityToolkit.Maui.Markup.dll.so
1>[1/77] _Microsoft.Android.Resource.Designer.dll -> _Microsoft.Android.Resource.Designer.dll.so
1>[3/77] CommunityToolkit.Maui.Markup.dll -> CommunityToolkit.Maui.Markup.dll.so
1>[4/77] Microsoft.Extensions.Configuration.dll -> Microsoft.Extensions.Configuration.dll.so
1>[4/77] Microsoft.Extensions.Configuration.dll -> Microsoft.Extensions.Configuration.dll.so
1>[5/77] Microsoft.Extensions.Configuration.Abstractions.dll -> Microsoft.Extensions.Configuration.Abstractions.dll.so
1>[5/77] Microsoft.Extensions.Configuration.Abstractions.dll -> Microsoft.Extensions.Configuration.Abstractions.dll.so
1>[6/77] Microsoft.Extensions.DependencyInjection.dll -> Microsoft.Extensions.DependencyInjection.dll.so
1>[6/77] Microsoft.Extensions.DependencyInjection.dll -> Microsoft.Extensions.DependencyInjection.dll.so
1>[7/77] Microsoft.Extensions.DependencyInjection.Abstractions.dll -> Microsoft.Extensions.DependencyInjection.Abstractions.dll.so
1>[7/77] Microsoft.Extensions.DependencyInjection.Abstractions.dll -> Microsoft.Extensions.DependencyInjection.Abstractions.dll.so
1>[8/77] Microsoft.Extensions.Logging.dll -> Microsoft.Extensions.Logging.dll.so
1>[8/77] Microsoft.Extensions.Logging.dll -> Microsoft.Extensions.Logging.dll.so
1>[77/77] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
1>[9/77] Microsoft.Extensions.Logging.Abstractions.dll -> Microsoft.Extensions.Logging.Abstractions.dll.so
1>[9/77] Microsoft.Extensions.Logging.Abstractions.dll -> Microsoft.Extensions.Logging.Abstractions.dll.so
1>[10/77] Microsoft.Extensions.Options.dll -> Microsoft.Extensions.Options.dll.so
1>[11/77] Microsoft.Extensions.Primitives.dll -> Microsoft.Extensions.Primitives.dll.so
1>[10/77] Microsoft.Extensions.Options.dll -> Microsoft.Extensions.Options.dll.so
1>[11/77] Microsoft.Extensions.Primitives.dll -> Microsoft.Extensions.Primitives.dll.so
1>[2/77] MauiApp1.dll -> MauiApp1.dll.so
1>[3/77] CommunityToolkit.Maui.Markup.dll -> CommunityToolkit.Maui.Markup.dll.so
1>[4/77] Microsoft.Extensions.Configuration.dll -> Microsoft.Extensions.Configuration.dll.so
1>[5/77] Microsoft.Extensions.Configuration.Abstractions.dll -> Microsoft.Extensions.Configuration.Abstractions.dll.so
1>[6/77] Microsoft.Extensions.DependencyInjection.dll -> Microsoft.Extensions.DependencyInjection.dll.so
1>[7/77] Microsoft.Extensions.DependencyInjection.Abstractions.dll -> Microsoft.Extensions.DependencyInjection.Abstractions.dll.so
1>[8/77] Microsoft.Extensions.Logging.dll -> Microsoft.Extensions.Logging.dll.so
1>[9/77] Microsoft.Extensions.Logging.Abstractions.dll -> Microsoft.Extensions.Logging.Abstractions.dll.so
1>[12/77] Microsoft.Maui.Controls.dll -> Microsoft.Maui.Controls.dll.so
1>[10/77] Microsoft.Extensions.Options.dll -> Microsoft.Extensions.Options.dll.so
1>[13/77] Microsoft.Maui.Controls.Xaml.dll -> Microsoft.Maui.Controls.Xaml.dll.so
1>[11/77] Microsoft.Extensions.Primitives.dll -> Microsoft.Extensions.Primitives.dll.so
1>[12/77] Microsoft.Maui.Controls.dll -> Microsoft.Maui.Controls.dll.so
1>[13/77] Microsoft.Maui.Controls.Xaml.dll -> Microsoft.Maui.Controls.Xaml.dll.so
1>[14/77] Microsoft.Maui.dll -> Microsoft.Maui.dll.so
1>[15/77] Microsoft.Maui.Essentials.dll -> Microsoft.Maui.Essentials.dll.so
1>[16/77] Microsoft.Maui.Graphics.dll -> Microsoft.Maui.Graphics.dll.so
1>[17/77] Xamarin.AndroidX.Activity.dll -> Xamarin.AndroidX.Activity.dll.so
1>[18/77] Xamarin.AndroidX.AppCompat.dll -> Xamarin.AndroidX.AppCompat.dll.so
1>[14/77] Microsoft.Maui.dll -> Microsoft.Maui.dll.so
1>[19/77] Xamarin.AndroidX.AppCompat.AppCompatResources.dll -> Xamarin.AndroidX.AppCompat.AppCompatResources.dll.so
1>[12/77] Microsoft.Maui.Controls.dll -> Microsoft.Maui.Controls.dll.so
1>[15/77] Microsoft.Maui.Essentials.dll -> Microsoft.Maui.Essentials.dll.so
1>[20/77] Xamarin.AndroidX.CardView.dll -> Xamarin.AndroidX.CardView.dll.so
1>[13/77] Microsoft.Maui.Controls.Xaml.dll -> Microsoft.Maui.Controls.Xaml.dll.so
1>[21/77] Xamarin.AndroidX.Collection.dll -> Xamarin.AndroidX.Collection.dll.so
1>[22/77] Xamarin.AndroidX.CoordinatorLayout.dll -> Xamarin.AndroidX.CoordinatorLayout.dll.so
1>[16/77] Microsoft.Maui.Graphics.dll -> Microsoft.Maui.Graphics.dll.so
1>[23/77] Xamarin.AndroidX.Core.dll -> Xamarin.AndroidX.Core.dll.so
1>[17/77] Xamarin.AndroidX.Activity.dll -> Xamarin.AndroidX.Activity.dll.so
1>[24/77] Xamarin.AndroidX.CursorAdapter.dll -> Xamarin.AndroidX.CursorAdapter.dll.so
1>[25/77] Xamarin.AndroidX.CustomView.dll -> Xamarin.AndroidX.CustomView.dll.so
1>[14/77] Microsoft.Maui.dll -> Microsoft.Maui.dll.so
1>[18/77] Xamarin.AndroidX.AppCompat.dll -> Xamarin.AndroidX.AppCompat.dll.so
1>[26/77] Xamarin.AndroidX.DrawerLayout.dll -> Xamarin.AndroidX.DrawerLayout.dll.so
1>[15/77] Microsoft.Maui.Essentials.dll -> Microsoft.Maui.Essentials.dll.so
1>[19/77] Xamarin.AndroidX.AppCompat.AppCompatResources.dll -> Xamarin.AndroidX.AppCompat.AppCompatResources.dll.so
1>[27/77] Xamarin.AndroidX.Fragment.dll -> Xamarin.AndroidX.Fragment.dll.so
1>[20/77] Xamarin.AndroidX.CardView.dll -> Xamarin.AndroidX.CardView.dll.so
1>[16/77] Microsoft.Maui.Graphics.dll -> Microsoft.Maui.Graphics.dll.so
1>[28/77] Xamarin.AndroidX.Lifecycle.Common.dll -> Xamarin.AndroidX.Lifecycle.Common.dll.so
1>[21/77] Xamarin.AndroidX.Collection.dll -> Xamarin.AndroidX.Collection.dll.so
1>[17/77] Xamarin.AndroidX.Activity.dll -> Xamarin.AndroidX.Activity.dll.so
1>[29/77] Xamarin.AndroidX.Lifecycle.LiveData.Core.dll -> Xamarin.AndroidX.Lifecycle.LiveData.Core.dll.so
1>[30/77] Xamarin.AndroidX.Lifecycle.ViewModel.dll -> Xamarin.AndroidX.Lifecycle.ViewModel.dll.so
1>[18/77] Xamarin.AndroidX.AppCompat.dll -> Xamarin.AndroidX.AppCompat.dll.so
1>[22/77] Xamarin.AndroidX.CoordinatorLayout.dll -> Xamarin.AndroidX.CoordinatorLayout.dll.so
1>[31/77] Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll -> Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll.so
1>[19/77] Xamarin.AndroidX.AppCompat.AppCompatResources.dll -> Xamarin.AndroidX.AppCompat.AppCompatResources.dll.so
1>[23/77] Xamarin.AndroidX.Core.dll -> Xamarin.AndroidX.Core.dll.so
1>[20/77] Xamarin.AndroidX.CardView.dll -> Xamarin.AndroidX.CardView.dll.so
1>[32/77] Xamarin.AndroidX.Loader.dll -> Xamarin.AndroidX.Loader.dll.so
1>[21/77] Xamarin.AndroidX.Collection.dll -> Xamarin.AndroidX.Collection.dll.so
1>[24/77] Xamarin.AndroidX.CursorAdapter.dll -> Xamarin.AndroidX.CursorAdapter.dll.so
1>[33/77] Xamarin.AndroidX.Navigation.Common.dll -> Xamarin.AndroidX.Navigation.Common.dll.so
1>[22/77] Xamarin.AndroidX.CoordinatorLayout.dll -> Xamarin.AndroidX.CoordinatorLayout.dll.so
1>[34/77] Xamarin.AndroidX.Navigation.Fragment.dll -> Xamarin.AndroidX.Navigation.Fragment.dll.so
1>[25/77] Xamarin.AndroidX.CustomView.dll -> Xamarin.AndroidX.CustomView.dll.so
1>[35/77] Xamarin.AndroidX.Navigation.Runtime.dll -> Xamarin.AndroidX.Navigation.Runtime.dll.so
1>[23/77] Xamarin.AndroidX.Core.dll -> Xamarin.AndroidX.Core.dll.so
1>[26/77] Xamarin.AndroidX.DrawerLayout.dll -> Xamarin.AndroidX.DrawerLayout.dll.so
1>[36/77] Xamarin.AndroidX.Navigation.UI.dll -> Xamarin.AndroidX.Navigation.UI.dll.so
1>[24/77] Xamarin.AndroidX.CursorAdapter.dll -> Xamarin.AndroidX.CursorAdapter.dll.so
1>[25/77] Xamarin.AndroidX.CustomView.dll -> Xamarin.AndroidX.CustomView.dll.so
1>[37/77] Xamarin.AndroidX.RecyclerView.dll -> Xamarin.AndroidX.RecyclerView.dll.so
1>[27/77] Xamarin.AndroidX.Fragment.dll -> Xamarin.AndroidX.Fragment.dll.so
1>[26/77] Xamarin.AndroidX.DrawerLayout.dll -> Xamarin.AndroidX.DrawerLayout.dll.so
1>[38/77] Xamarin.AndroidX.SavedState.dll -> Xamarin.AndroidX.SavedState.dll.so
1>[28/77] Xamarin.AndroidX.Lifecycle.Common.dll -> Xamarin.AndroidX.Lifecycle.Common.dll.so
1>[39/77] Xamarin.AndroidX.SwipeRefreshLayout.dll -> Xamarin.AndroidX.SwipeRefreshLayout.dll.so
1>[27/77] Xamarin.AndroidX.Fragment.dll -> Xamarin.AndroidX.Fragment.dll.so
1>[29/77] Xamarin.AndroidX.Lifecycle.LiveData.Core.dll -> Xamarin.AndroidX.Lifecycle.LiveData.Core.dll.so
1>[40/77] Xamarin.AndroidX.ViewPager.dll -> Xamarin.AndroidX.ViewPager.dll.so
1>[28/77] Xamarin.AndroidX.Lifecycle.Common.dll -> Xamarin.AndroidX.Lifecycle.Common.dll.so
1>[29/77] Xamarin.AndroidX.Lifecycle.LiveData.Core.dll -> Xamarin.AndroidX.Lifecycle.LiveData.Core.dll.so
1>[30/77] Xamarin.AndroidX.Lifecycle.ViewModel.dll -> Xamarin.AndroidX.Lifecycle.ViewModel.dll.so
1>[41/77] Xamarin.AndroidX.ViewPager2.dll -> Xamarin.AndroidX.ViewPager2.dll.so
1>[30/77] Xamarin.AndroidX.Lifecycle.ViewModel.dll -> Xamarin.AndroidX.Lifecycle.ViewModel.dll.so
1>[31/77] Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll -> Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll.so
1>[42/77] Xamarin.Google.Android.Material.dll -> Xamarin.Google.Android.Material.dll.so
1>[31/77] Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll -> Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll.so
1>[43/77] Xamarin.Kotlin.StdLib.dll -> Xamarin.Kotlin.StdLib.dll.so
1>[32/77] Xamarin.AndroidX.Loader.dll -> Xamarin.AndroidX.Loader.dll.so
1>[32/77] Xamarin.AndroidX.Loader.dll -> Xamarin.AndroidX.Loader.dll.so
1>[44/77] Xamarin.KotlinX.Coroutines.Core.Jvm.dll -> Xamarin.KotlinX.Coroutines.Core.Jvm.dll.so
1>[33/77] Xamarin.AndroidX.Navigation.Common.dll -> Xamarin.AndroidX.Navigation.Common.dll.so
1>[33/77] Xamarin.AndroidX.Navigation.Common.dll -> Xamarin.AndroidX.Navigation.Common.dll.so
1>[45/77] System.Collections.Concurrent.dll -> System.Collections.Concurrent.dll.so
1>[34/77] Xamarin.AndroidX.Navigation.Fragment.dll -> Xamarin.AndroidX.Navigation.Fragment.dll.so
1>[34/77] Xamarin.AndroidX.Navigation.Fragment.dll -> Xamarin.AndroidX.Navigation.Fragment.dll.so
1>[46/77] System.Collections.NonGeneric.dll -> System.Collections.NonGeneric.dll.so
1>[35/77] Xamarin.AndroidX.Navigation.Runtime.dll -> Xamarin.AndroidX.Navigation.Runtime.dll.so
1>[47/77] System.Collections.dll -> System.Collections.dll.so
1>[35/77] Xamarin.AndroidX.Navigation.Runtime.dll -> Xamarin.AndroidX.Navigation.Runtime.dll.so
1>[36/77] Xamarin.AndroidX.Navigation.UI.dll -> Xamarin.AndroidX.Navigation.UI.dll.so
1>[48/77] System.ComponentModel.Primitives.dll -> System.ComponentModel.Primitives.dll.so
1>[36/77] Xamarin.AndroidX.Navigation.UI.dll -> Xamarin.AndroidX.Navigation.UI.dll.so
1>[37/77] Xamarin.AndroidX.RecyclerView.dll -> Xamarin.AndroidX.RecyclerView.dll.so
1>[49/77] System.ComponentModel.TypeConverter.dll -> System.ComponentModel.TypeConverter.dll.so
1>[50/77] System.ComponentModel.dll -> System.ComponentModel.dll.so
1>[38/77] Xamarin.AndroidX.SavedState.dll -> Xamarin.AndroidX.SavedState.dll.so
1>[37/77] Xamarin.AndroidX.RecyclerView.dll -> Xamarin.AndroidX.RecyclerView.dll.so
1>[51/77] System.Console.dll -> System.Console.dll.so
1>[39/77] Xamarin.AndroidX.SwipeRefreshLayout.dll -> Xamarin.AndroidX.SwipeRefreshLayout.dll.so
1>[38/77] Xamarin.AndroidX.SavedState.dll -> Xamarin.AndroidX.SavedState.dll.so
1>[52/77] System.Diagnostics.DiagnosticSource.dll -> System.Diagnostics.DiagnosticSource.dll.so
1>[40/77] Xamarin.AndroidX.ViewPager.dll -> Xamarin.AndroidX.ViewPager.dll.so
1>[53/77] System.IO.Compression.Brotli.dll -> System.IO.Compression.Brotli.dll.so
1>[39/77] Xamarin.AndroidX.SwipeRefreshLayout.dll -> Xamarin.AndroidX.SwipeRefreshLayout.dll.so
1>[41/77] Xamarin.AndroidX.ViewPager2.dll -> Xamarin.AndroidX.ViewPager2.dll.so
1>[54/77] System.IO.Compression.dll -> System.IO.Compression.dll.so
1>[40/77] Xamarin.AndroidX.ViewPager.dll -> Xamarin.AndroidX.ViewPager.dll.so
1>[42/77] Xamarin.Google.Android.Material.dll -> Xamarin.Google.Android.Material.dll.so
1>[55/77] System.Linq.Expressions.dll -> System.Linq.Expressions.dll.so
1>[43/77] Xamarin.Kotlin.StdLib.dll -> Xamarin.Kotlin.StdLib.dll.so
1>[41/77] Xamarin.AndroidX.ViewPager2.dll -> Xamarin.AndroidX.ViewPager2.dll.so
1>[44/77] Xamarin.KotlinX.Coroutines.Core.Jvm.dll -> Xamarin.KotlinX.Coroutines.Core.Jvm.dll.so
1>[56/77] System.Linq.dll -> System.Linq.dll.so
1>[42/77] Xamarin.Google.Android.Material.dll -> Xamarin.Google.Android.Material.dll.so
1>[57/77] System.Memory.dll -> System.Memory.dll.so
1>[45/77] System.Collections.Concurrent.dll -> System.Collections.Concurrent.dll.so
1>[46/77] System.Collections.NonGeneric.dll -> System.Collections.NonGeneric.dll.so
1>[43/77] Xamarin.Kotlin.StdLib.dll -> Xamarin.Kotlin.StdLib.dll.so
1>[58/77] System.Net.Http.dll -> System.Net.Http.dll.so
1>[47/77] System.Collections.dll -> System.Collections.dll.so
1>[44/77] Xamarin.KotlinX.Coroutines.Core.Jvm.dll -> Xamarin.KotlinX.Coroutines.Core.Jvm.dll.so
1>[59/77] System.Net.Primitives.dll -> System.Net.Primitives.dll.so
1>[48/77] System.ComponentModel.Primitives.dll -> System.ComponentModel.Primitives.dll.so
1>[60/77] System.Net.Requests.dll -> System.Net.Requests.dll.so
1>[49/77] System.ComponentModel.TypeConverter.dll -> System.ComponentModel.TypeConverter.dll.so
1>[45/77] System.Collections.Concurrent.dll -> System.Collections.Concurrent.dll.so
1>[61/77] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
1>[50/77] System.ComponentModel.dll -> System.ComponentModel.dll.so
1>[46/77] System.Collections.NonGeneric.dll -> System.Collections.NonGeneric.dll.so
1>[51/77] System.Console.dll -> System.Console.dll.so
1>[62/77] System.ObjectModel.dll -> System.ObjectModel.dll.so
1>[52/77] System.Diagnostics.DiagnosticSource.dll -> System.Diagnostics.DiagnosticSource.dll.so
1>[47/77] System.Collections.dll -> System.Collections.dll.so
1>[63/77] System.Private.Uri.dll -> System.Private.Uri.dll.so
1>[53/77] System.IO.Compression.Brotli.dll -> System.IO.Compression.Brotli.dll.so
1>[48/77] System.ComponentModel.Primitives.dll -> System.ComponentModel.Primitives.dll.so
1>[54/77] System.IO.Compression.dll -> System.IO.Compression.dll.so
1>[64/77] System.Private.Xml.dll -> System.Private.Xml.dll.so
1>[49/77] System.ComponentModel.TypeConverter.dll -> System.ComponentModel.TypeConverter.dll.so
1>[65/77] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
1>[55/77] System.Linq.Expressions.dll -> System.Linq.Expressions.dll.so
1>[50/77] System.ComponentModel.dll -> System.ComponentModel.dll.so
1>[66/77] System.Runtime.Loader.dll -> System.Runtime.Loader.dll.so
1>[56/77] System.Linq.dll -> System.Linq.dll.so
1>[67/77] System.Runtime.dll -> System.Runtime.dll.so
1>[51/77] System.Console.dll -> System.Console.dll.so
1>[57/77] System.Memory.dll -> System.Memory.dll.so
1>[68/77] System.Security.Cryptography.dll -> System.Security.Cryptography.dll.so
1>[52/77] System.Diagnostics.DiagnosticSource.dll -> System.Diagnostics.DiagnosticSource.dll.so
1>[58/77] System.Net.Http.dll -> System.Net.Http.dll.so
1>[53/77] System.IO.Compression.Brotli.dll -> System.IO.Compression.Brotli.dll.so
1>[69/77] System.Text.RegularExpressions.dll -> System.Text.RegularExpressions.dll.so
1>[59/77] System.Net.Primitives.dll -> System.Net.Primitives.dll.so
1>[54/77] System.IO.Compression.dll -> System.IO.Compression.dll.so
1>[70/77] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
1>[60/77] System.Net.Requests.dll -> System.Net.Requests.dll.so
1>[71/77] System.Threading.dll -> System.Threading.dll.so
1>[61/77] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
1>[72/77] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
1>[55/77] System.Linq.Expressions.dll -> System.Linq.Expressions.dll.so
1>[62/77] System.ObjectModel.dll -> System.ObjectModel.dll.so
1>[73/77] System.dll -> System.dll.so
1>[56/77] System.Linq.dll -> System.Linq.dll.so
1>[63/77] System.Private.Uri.dll -> System.Private.Uri.dll.so
1>[74/77] Java.Interop.dll -> Java.Interop.dll.so
1>[57/77] System.Memory.dll -> System.Memory.dll.so
1>[64/77] System.Private.Xml.dll -> System.Private.Xml.dll.so
1>[75/77] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
1>[65/77] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
1>[58/77] System.Net.Http.dll -> System.Net.Http.dll.so
1>[66/77] System.Runtime.Loader.dll -> System.Runtime.Loader.dll.so
1>[67/77] System.Runtime.dll -> System.Runtime.dll.so
1>[59/77] System.Net.Primitives.dll -> System.Net.Primitives.dll.so
1>[68/77] System.Security.Cryptography.dll -> System.Security.Cryptography.dll.so
1>[60/77] System.Net.Requests.dll -> System.Net.Requests.dll.so
1>[76/77] Mono.Android.dll -> Mono.Android.dll.so
1>[61/77] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
1>[69/77] System.Text.RegularExpressions.dll -> System.Text.RegularExpressions.dll.so
1>[62/77] System.ObjectModel.dll -> System.ObjectModel.dll.so
1>[70/77] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
1>[71/77] System.Threading.dll -> System.Threading.dll.so
1>[63/77] System.Private.Uri.dll -> System.Private.Uri.dll.so
1>[72/77] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
1>[73/77] System.dll -> System.dll.so
1>[64/77] System.Private.Xml.dll -> System.Private.Xml.dll.so
1>[65/77] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
1>[74/77] Java.Interop.dll -> Java.Interop.dll.so
1>[66/77] System.Runtime.Loader.dll -> System.Runtime.Loader.dll.so
1>[75/77] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
1>[67/77] System.Runtime.dll -> System.Runtime.dll.so
1>[68/77] System.Security.Cryptography.dll -> System.Security.Cryptography.dll.so
1>[76/77] Mono.Android.dll -> Mono.Android.dll.so
1>[69/77] System.Text.RegularExpressions.dll -> System.Text.RegularExpressions.dll.so
1>[70/77] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
1>[71/77] System.Threading.dll -> System.Threading.dll.so
1>[72/77] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
1>[77/77] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
1>[73/77] System.dll -> System.dll.so
1>[74/77] Java.Interop.dll -> Java.Interop.dll.so
1>[75/77] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
1>[76/77] Mono.Android.dll -> Mono.Android.dll.so
1>[77/77] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
1>[77/77] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
1>Done building project "MauiApp1.csproj".
2>------ Deploy started: Project: MauiApp1, Configuration: Release Any CPU ------
2>Starting deployment to Samsung   ...
2>Deploying to Samsung  
Build started.
Project "MauiApp1.csproj" (Install target(s)):
There is no application host available for the specified RuntimeIdentifier 'android-arm'.

Public API Changes

faster build times.... on 2nd 3rd latter builds

Intended Use-Case

faster build times.... on 2nd 3rd latter builds

@blackholeearth blackholeearth changed the title faster Release build - idea | on release , skip building 77 dll.so files on the 2nd and 3rd times ..... only build them at 1st run ?? is it doable ?? faster Release build - maui-android -- on release , skip building 77 dll.so files on the 2nd and 3rd times ..... only build them at 1st run ?? Dec 20, 2024
@PureWeen PureWeen transferred this issue from dotnet/maui Dec 20, 2024
@dotnet-policy-service dotnet-policy-service bot added the needs-triage Issues that need to be assigned. label Dec 20, 2024
@blackholeearth blackholeearth changed the title faster Release build - maui-android -- on release , skip building 77 dll.so files on the 2nd and 3rd times ..... only build them at 1st run ?? [faster Release build - maui-android] on release , skip building 77 dll.so files for the 2nd , 3rd times. only build them for 1st run ? Dec 20, 2024
@blackholeearth blackholeearth changed the title [faster Release build - maui-android] on release , skip building 77 dll.so files for the 2nd , 3rd times. only build them for 1st run ? ( faster Release build - maui-android ) on release , skip building 77 dll.so files for the 2nd , 3rd times. only build them for 1st run ? Dec 20, 2024
@jpobst
Copy link
Contributor

jpobst commented Dec 21, 2024

If the assemblies do not change between builds, then it is possible that we could optimize the build process in the future to not rebuild the dll.so files. However the Release build runs the linker (Optimizing assemblies for size. This process might take a while.), which has the potential to change any assembly (even .NET assemblies like System.dll) based on changes you make to your application.

In general, the Debug configuration is optimized for the developer experience. It should recompile quickly to allow developers to make changes and see results without having to wait a long time.

The Release configuration is designed to create the final package for distribution. It runs very expensive processes like the linker and extra compression designed to make the final package smaller and have better performance.

You should be using Debug for normal development, and only developing with Release if you are trying to investigate an issue with the final package that you do not see in Debug.

@jpobst jpobst self-assigned this Dec 21, 2024
@jpobst jpobst added Area: App+Library Build Issues when building Library projects or Application projects. Area: Performance Issues with performance. and removed needs-triage Issues that need to be assigned. labels Dec 21, 2024
@jpobst jpobst changed the title ( faster Release build - maui-android ) on release , skip building 77 dll.so files for the 2nd , 3rd times. only build them for 1st run ? Release incremental builds are slow Dec 21, 2024
@blackholeearth
Copy link
Author

blackholeearth commented Dec 21, 2024

İ missed that "unused code is trimmed out of dlls.."

So pursuing this doesn't worth the trouble.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: App+Library Build Issues when building Library projects or Application projects. Area: Performance Issues with performance.
Projects
None yet
Development

No branches or pull requests

2 participants