diff --git a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Linker.cs b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Linker.cs index 3cdebc6e57a..b9c7ac496ff 100644 --- a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Linker.cs +++ b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/Linker.cs @@ -61,6 +61,7 @@ static Pipeline CreatePipeline (LinkerOptions options) if (options.LinkNone) { pipeline.AppendStep (new FixAbstractMethodsStep ()); + pipeline.AppendStep (new StripEmbeddedLibraries ()); pipeline.AppendStep (new OutputStep ()); return pipeline; } @@ -113,6 +114,7 @@ static Pipeline CreatePipeline (LinkerOptions options) // monodroid tuner steps if (!string.IsNullOrWhiteSpace (options.ProguardConfiguration)) pipeline.AppendStep (new GenerateProguardConfiguration (options.ProguardConfiguration)); + //NOTE: StripEmbeddedLibraries should run last since Skip assemblies might change to Save pipeline.AppendStep (new StripEmbeddedLibraries ()); // end monodroid specific pipeline.AppendStep (new RegenerateGuidStep ()); diff --git a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/StripEmbeddedLibraries.cs b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/StripEmbeddedLibraries.cs index d6f741b284a..6d448eef627 100644 --- a/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/StripEmbeddedLibraries.cs +++ b/src/Xamarin.Android.Build.Tasks/Linker/MonoDroid.Tuner/StripEmbeddedLibraries.cs @@ -14,7 +14,7 @@ protected override void ProcessAssembly (AssemblyDefinition assembly) if (!Annotations.HasAction (assembly)) return; var action = Annotations.GetAction (assembly); - if (action == AssemblyAction.Skip || action == AssemblyAction.Delete) + if (action == AssemblyAction.Delete) return; var fileName = assembly.Name.Name + ".dll"; @@ -33,7 +33,7 @@ protected override void ProcessAssembly (AssemblyDefinition assembly) } } } - if (assembly_modified && action == AssemblyAction.Copy) { + if (assembly_modified && (action == AssemblyAction.Copy || action == AssemblyAction.Skip)) { Annotations.SetAction (assembly, AssemblyAction.Save); } }