maui: Android Release mode build doesn't work
Description
Hello, after upgrade to the newest version I’m unable to build android app in release mode. I can’t publish repo of this app, what can I do now?
Build fails with errors:
Błąd NETSDK1144 Optymalizacja zestawów pod kątem rozmiaru nie powiodła się. Optymalizacja może zostać wyłączona przez ustawienie właściwości PublishTrimmed na wartość false. DA C:\Program Files\dotnet\sdk\7.0.100\Sdks\Microsoft.NET.ILLink.Tasks\build\Microsoft.NET.ILLink.targets 86
and:
Błąd IL1011 Failed to write 'obj\Release\net7.0-android\android-x86\linked\SkiaSharp.Views.Android.dll'. DA C:\Users\**\source\repos\DA\ILLink 1
Steps to Reproduce
- Build app in release mode
Link to public reproduction project repository
I cant publish this repo
Version with bug
7.0 (current)
Last version that worked well
6.0.424
Affected platforms
Android
Affected platform versions
Android all
Did you find any workaround?
No response
Relevant log output
1>ILLink : error IL1011: Failed to write 'obj\Release\net7.0-android\android-arm64\linked\SkiaSharp.Views.Android.dll'.
1>Fatal error in IL Linker
1>Unhandled exception. Mono.Linker.LinkerFatalErrorException: ILLink: error IL1011: Failed to write 'obj\Release\net7.0-android\android-arm64\linked\SkiaSharp.Views.Android.dll'.
1> ---> System.ArgumentException: Member 'System.Int32 SKCanvasView_ignorePixelScaling' is declared in another module and needs to be imported
1> at Mono.Cecil.MetadataBuilder.LookupToken(IMetadataTokenProvider provider)
1> at Mono.Cecil.Cil.CodeWriter.WriteOperand(Instruction instruction)
1> at Mono.Cecil.Cil.CodeWriter.WriteInstructions()
1> at Mono.Cecil.Cil.CodeWriter.WriteResolvedMethodBody(MethodDefinition method)
1> at Mono.Cecil.Cil.CodeWriter.WriteMethodBody(MethodDefinition method)
1> at Mono.Cecil.MetadataBuilder.AddMethod(MethodDefinition method)
1> at Mono.Cecil.MetadataBuilder.AddMethods(TypeDefinition type)
1> at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
1> at Mono.Cecil.MetadataBuilder.AddTypes()
1> at Mono.Cecil.MetadataBuilder.BuildTypes()
1> at Mono.Cecil.MetadataBuilder.BuildModule()
1> at Mono.Cecil.MetadataBuilder.BuildMetadata()
1> at Mono.Cecil.ModuleWriter.<>c.<BuildMetadata>b__2_0(MetadataBuilder builder, MetadataReader _)
1> at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func`3 read)
1> at Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module, MetadataBuilder metadata)
1> at Mono.Cecil.ModuleWriter.Write(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
1> at Mono.Cecil.ModuleWriter.WriteModule(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
1> at Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
1> at Mono.Cecil.AssemblyDefinition.Write(String fileName, WriterParameters parameters)
1> at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory, WriterParameters writerParameters)
1> --- End of inner exception stack trace ---
1> at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory, WriterParameters writerParameters)
1> at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory)
1> at Mono.Linker.Steps.OutputStep.OutputAssembly(AssemblyDefinition assembly)
1> at Mono.Linker.Steps.OutputStep.ProcessAssembly(AssemblyDefinition assembly)
1> at Mono.Linker.Steps.BaseStep.Process(LinkContext context)
1> at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
1> at Mono.Linker.Pipeline.Process(LinkContext context)
1> at Mono.Linker.Driver.Run(ILogger customLogger)
1> at Mono.Linker.Driver.Main(String[] args)
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 29 (17 by maintainers)
Will this always need to be disabled? It makes the building process take 5x the time it used to.
This should fix it: