diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/BuildArchive.cs b/src/Xamarin.Android.Build.Tasks/Tasks/BuildArchive.cs index c8c9d2ff1f3..41c2dde54d7 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/BuildArchive.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/BuildArchive.cs @@ -216,39 +216,16 @@ bool ShouldFallbackToLibZipSharp () return true; } - // .NET 6+ handles uncompressed files correctly, so we don't need to fallback. - if (RuntimeInformation.FrameworkDescription == ".NET") { - Log.LogDebugMessage ("Using System.IO.Compression because we're running on .NET 6+."); - return false; - } - - // Nothing is going to get written uncompressed, so we don't need to fallback. - if (uncompressedMethod != CompressionMethod.Store) { - Log.LogDebugMessage ("Using System.IO.Compression because uncompressedMethod isn't 'Store'."); - return false; - } - - // No uncompressed file extensions were specified, so we don't need to fallback. - if (UncompressedFileExtensionsSet.Count == 0) { - Log.LogDebugMessage ("Using System.IO.Compression because no uncompressed file extensions were specified."); - return false; - } - - // See if any of the files to be added need to be uncompressed. - foreach (var file in FilesToAddToArchive) { - var file_path = file.ItemSpec; - - // Handle files from inside a .jar/.aar - if (file.GetMetadataOrDefault ("JavaArchiveEntry", (string?)null) is string jar_entry_name) - file_path = jar_entry_name; - - if (UncompressedFileExtensionsSet.Contains (Path.GetExtension (file_path))) { - Log.LogDebugMessage ($"Falling back to LibZipSharp because '{file_path}' needs to be stored uncompressed."); - return true; - } + // Always fallback on .NET Framework + var frameworkDescription = RuntimeInformation.FrameworkDescription; + Log.LogDebugMessage ($"RuntimeInformation.FrameworkDescription: {frameworkDescription}"); + if (frameworkDescription != ".NET") { + Log.LogDebugMessage ("Falling back to LibZipSharp because we are *not* running on .NET 6+."); + return true; } - Log.LogDebugMessage ("Using System.IO.Compression because no files need to be stored uncompressed."); + // .NET 6+ handles uncompressed files correctly, so we don't need to fallback. + Log.LogDebugMessage ("Using System.IO.Compression because we're running on .NET 6+."); return false; }