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

Re-Publishing doesn't overwrite the previous .apk on MacOS #776

Open
mrstruijk opened this issue Nov 14, 2023 · 9 comments
Open

Re-Publishing doesn't overwrite the previous .apk on MacOS #776

mrstruijk opened this issue Nov 14, 2023 · 9 comments

Comments

@mrstruijk
Copy link

mrstruijk commented Nov 14, 2023

Description

Rebuilding a second (or third etc.) Android version doesn't seem to override the initial one. I have to delete the .../net7.0-android/... folder for any changes to be apparent.

Following the steps in the Getting Started - Android Section and the changes in skshaderc - custom shaders I can build to Quest 1 and 2.

If I then make any changes to the code, and rebuild and re-install to Quest again, those changes are not loaded. Also not after removing the APK from the HMD, rebooting the HMD, etc. Only after deleting the folder mentioned above will those changes be built.

During building or installation to the HMD, no errors are shown.

Platform / Environment

I'm working on M1 macOS 14.1, I'm using latest VS Code 1.84.1.
I've installed dotnet 7.0.483, the android workload, openJDK 17, Android API level 33 via Android Studio, Xamarin via VS.
Stereokit was installed (latest), as was the Templates (latest)

Logs or exception details

No error logs. Normal output, plus steps taken are provided below:

Installing sk-multi:
➜  ProjectName dotnet new sk-multi --force

The template "StereoKit: Multitarget project" was created successfully.

Processing post-creation actions...
Restoring /Users/mrstruijk/Current StereoKit Projects/ProjectName/ProjectName.csproj:
  Determining projects to restore...
  All projects are up-to-date for restore.
Restore succeeded.
Restoring /Users/mrstruijk/Current StereoKit Projects/ProjectName/Projects/Android/ProjectName_Android.csproj:
  Determining projects to restore...
  Restored /Users/mrstruijk/Current StereoKit Projects/ProjectName/Projects/Android/ProjectName_Android.csproj (in 96 ms).
Restore succeeded.

Here I removed the floor.hlsl from the project, and changed the code to use a copy of the default material.

Publish
➜  ProjectName dotnet publish -c Release Projects/Android/ProjectName_Android.csproj
MSBuild version 17.7.3+4fca21998 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  [StereoKit NuGet] Copying native libraries for .NET Core Android.
  [StereoKit NuGet] Using the Standard <SKOpenXRLoader> version of the Android OpenXR loader.
  ProjectName_Android -> /Users/mrstruijk/Current StereoKit Projects/ProjectName/Projects/Android/bin/Release/net7.0-android/ProjectName_Android.dll
  Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
  Optimizing assemblies for size. This process might take a while.
  [2/13] System.Collections.dll -> System.Collections.dll.so
  [4/13] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
  [1/13] System.Runtime.dll -> System.Runtime.dll.so
  [3/13] System.Console.dll -> System.Console.dll.so
  [5/13] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
  [6/13] Java.Interop.dll -> Java.Interop.dll.so
  [7/13] System.Linq.dll -> System.Linq.dll.so
  [8/13] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
  [9/13] StereoKit.dll -> StereoKit.dll.so
  [10/13] netstandard.dll -> netstandard.dll.so
  [11/13] ProjectName_Android.dll -> ProjectName_Android.dll.so
  [12/13] Mono.Android.dll -> Mono.Android.dll.so
  [13/13] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
Install
➜  ProjectName adb install Projects/Android/bin/Release/net7.0-android/publish/com.companyname.ProjectName-Signed.apk
Performing Streamed Install
Success

Here I made a small tweak to the position of the cube

Rebuild
➜  ProjectName dotnet publish -c Release Projects/Android/ProjectName_Android.csproj                                 
MSBuild version 17.7.3+4fca21998 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  [StereoKit NuGet] Copying native libraries for .NET Core Android.
  [StereoKit NuGet] Using the Standard <SKOpenXRLoader> version of the Android OpenXR loader.
  ProjectName_Android -> /Users/mrstruijk/Current StereoKit Projects/ProjectName/Projects/Android/bin/Release/net7.0-android/ProjectName_Android.dll
  Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
  Optimizing assemblies for size. This process might take a while.
  [2/13] System.Collections.dll -> System.Collections.dll.so
  [1/13] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
  [3/13] netstandard.dll -> netstandard.dll.so
  [4/13] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
  [5/13] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
  [6/13] System.Console.dll -> System.Console.dll.so
  [7/13] StereoKit.dll -> StereoKit.dll.so
  [8/13] System.Runtime.dll -> System.Runtime.dll.so
  [9/13] System.Linq.dll -> System.Linq.dll.so
  [10/13] Java.Interop.dll -> Java.Interop.dll.so
  [11/13] ProjectName_Android.dll -> ProjectName_Android.dll.so
  [12/13] Mono.Android.dll -> Mono.Android.dll.so
  [13/13] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
Re-install
 ➜  ProjectName adb install Projects/Android/bin/Release/net7.0-android/publish/com.companyname.ProjectName-Signed.apk
Performing Streamed Install
Success 

The cube is still in its original position.

@maluoi
Copy link
Collaborator

maluoi commented Nov 14, 2023

I know adb install with a release builds tends to fail because of some security issues related to overwriting release builds. It's usually vocal about that though, does this work well if you uninstall the package via adb before installing it? I'd also be a bit interested if bumping the version might help here if the problem is more on the dotnet side. Can you see the timestamps on the files changing when you publish?

@mrstruijk
Copy link
Author

Not sure about the version number, I'll check again tomorrow (I'm on CET here). Time was a weird thing as well: the timestamps aren't set. The APK is set to Unix beginning of time.

@maluoi
Copy link
Collaborator

maluoi commented Nov 14, 2023

Woah, that is odd!

Another thing to try, .Net 8 just released today! I'm still exploring all the details related to how that impacts StereoKit, but it looks like the new dotnet should actually be able to just dotnet run for the Android project now, (tested on Windows at least!) without all the publish and adb install steps. That was working for me even with the project still targeting .Net 7, and updating to 8 in the .csproj was also behaving quite fine too.

@mrstruijk
Copy link
Author

Ok now I'm doubting whether it was Epoch start time, but regardless it's pretending to be super old: with .NET8.0 it thinks the .apk is created/modified at 01-01-1981 at 01:01 o'clock. Rebuilding keeps this identical time-stamp. Oddly enough, the other files in the folder have the correct time...?

Bumping the version number with /p:Version=1 or 2 doesn't do the trick unfortunately.

I don't think it's on the adb install side of things, since it does force-close the app on the Quest. So at least it's pushing something to the Quest. Uninstalling the app from the Quest also doesn't make a difference, really only when I delete the ..../net8.0-android/... folder.

@mrstruijk
Copy link
Author

Fun fact: Rider (2023.2.1 at least) does allows me to rebuild.

@maluoi
Copy link
Collaborator

maluoi commented Nov 17, 2023

Hah! Oh no. Glad you found a workaround, but wooo. Any chance they log the commands they're using for build or something? Maybe there's some interesting flags hidden in there?

@mrstruijk
Copy link
Author

Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
Optimizing assemblies for size. This process might take a while.
/usr/local/share/dotnet/dotnet "/Users/mrstruijk/.nuget/packages/microsoft.net.illink.tasks/8.0.0/tools/net8.0/illink.dll" -x "/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../PreserveLists/Java.Interop.xml"
-x "/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../PreserveLists/Mono.Android.Runtime.xml"
-x "/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../PreserveLists/Mono.Android.xml"
-x "/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../PreserveLists/System.Runtime.InteropServices.xml"
-x "/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../PreserveLists/System.Runtime.xml"
-a "obj/Release/net8.0-android/ProjectName_Android.dll" All
--singlewarn
--trim-mode link
--action copy
-reference "obj/Release/net8.0-android/_Microsoft.Android.Resource.Designer.dll"
--action link "_Microsoft.Android.Resource.Designer"
-reference "/Users/mrstruijk/.nuget/packages/stereokit/0.3.8/lib/netstandard2.0/StereoKit.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/Microsoft.CSharp.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/Microsoft.VisualBasic.Core.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/Microsoft.VisualBasic.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/Microsoft.Win32.Primitives.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/Microsoft.Win32.Registry.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.AppContext.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Buffers.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Collections.Concurrent.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Collections.Immutable.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Collections.NonGeneric.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Collections.Specialized.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Collections.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ComponentModel.Annotations.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ComponentModel.DataAnnotations.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ComponentModel.EventBasedAsync.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ComponentModel.Primitives.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ComponentModel.TypeConverter.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ComponentModel.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Configuration.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Console.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Core.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Data.Common.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Data.DataSetExtensions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Data.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.Contracts.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.Debug.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.DiagnosticSource.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.FileVersionInfo.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.Process.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.StackTrace.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.TextWriterTraceListener.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.Tools.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.TraceSource.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Diagnostics.Tracing.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Drawing.Primitives.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Drawing.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Dynamic.Runtime.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Formats.Asn1.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Formats.Tar.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Globalization.Calendars.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Globalization.Extensions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Globalization.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.Compression.Brotli.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.Compression.FileSystem.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.Compression.ZipFile.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.Compression.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.FileSystem.AccessControl.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.FileSystem.DriveInfo.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.FileSystem.Primitives.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.FileSystem.Watcher.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.FileSystem.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.IsolatedStorage.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.MemoryMappedFiles.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.Pipes.AccessControl.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.Pipes.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.UnmanagedMemoryStream.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.IO.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Linq.Expressions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Linq.Parallel.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Linq.Queryable.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Linq.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Memory.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Http.Json.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Http.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.HttpListener.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Mail.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.NameResolution.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.NetworkInformation.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Ping.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Primitives.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Quic.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Requests.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Security.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.ServicePoint.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.Sockets.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.WebClient.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.WebHeaderCollection.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.WebProxy.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.WebSockets.Client.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.WebSockets.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Net.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Numerics.Vectors.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Numerics.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ObjectModel.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Private.DataContractSerialization.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Private.Uri.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Private.Xml.Linq.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Private.Xml.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.DispatchProxy.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.Emit.ILGeneration.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.Emit.Lightweight.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.Emit.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.Extensions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.Metadata.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.Primitives.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.TypeExtensions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Reflection.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Resources.Reader.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Resources.ResourceManager.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Resources.Writer.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.CompilerServices.Unsafe.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.CompilerServices.VisualC.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Extensions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Handles.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.InteropServices.JavaScript.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.InteropServices.RuntimeInformation.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.InteropServices.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Intrinsics.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Loader.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Numerics.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Serialization.Formatters.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Serialization.Json.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Serialization.Primitives.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Serialization.Xml.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.Serialization.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Runtime.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.AccessControl.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Claims.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Cryptography.Algorithms.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Cryptography.Cng.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Cryptography.Csp.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Cryptography.Encoding.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Cryptography.OpenSsl.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Cryptography.Primitives.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Cryptography.X509Certificates.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Cryptography.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Principal.Windows.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.Principal.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.SecureString.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Security.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ServiceModel.Web.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ServiceProcess.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Text.Encoding.CodePages.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Text.Encoding.Extensions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Text.Encoding.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Text.Encodings.Web.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Text.Json.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Text.RegularExpressions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.Channels.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.Overlapped.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.Tasks.Dataflow.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.Tasks.Extensions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.Tasks.Parallel.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.Tasks.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.Thread.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.ThreadPool.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.Timer.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Threading.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Transactions.Local.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Transactions.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.ValueTuple.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Web.HttpUtility.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Web.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Windows.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.Linq.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.ReaderWriter.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.Serialization.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.XDocument.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.XPath.XDocument.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.XPath.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.XmlDocument.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.XmlSerializer.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.Xml.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/System.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/WindowsBase.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/mscorlib.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/lib/net8.0/netstandard.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.android-arm64/8.0.0/runtimes/android-arm64/native/System.Private.CoreLib.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.Android.Runtime.34.android-arm64/34.0.43/runtimes/android-arm64/lib/net8.0/Java.Interop.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.Android.Runtime.34.android-arm64/34.0.43/runtimes/android-arm64/lib/net8.0/Mono.Android.Export.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.Android.Runtime.34.android-arm64/34.0.43/runtimes/android-arm64/lib/net8.0/Mono.Android.Runtime.dll"
-reference "/usr/local/share/dotnet/packs/Microsoft.Android.Runtime.34.android-arm64/34.0.43/runtimes/android-arm64/lib/net8.0/Mono.Android.dll"
-reference "obj/Release/net8.0-android/ProjectName_Android.dll"
--singlewarn- "ProjectName_Android"
-out "obj/Release/net8.0-android/android-arm64/linked/"
--nowarn "XA4211;XA1006;XA4301;IL2121"
--warn "5"
--warnaserror- --warnaserror ";NU1605;SYSLIB0011"
--custom-data  XATargetFrameworkDirectories="/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.0/ref/net8.0/;/usr/local/share/dotnet/packs/Microsoft.Android.Ref.34/34.0.43/ref/net8.0/"
--feature Microsoft.Extensions.DependencyInjection.VerifyOpenGenericServiceTrimmability false
--feature System.AggressiveAttributeTrimming true
--feature System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization false
--feature System.Diagnostics.Debugger.IsSupported false
--feature System.Diagnostics.Tracing.EventSource.IsSupported false
--feature System.Globalization.Invariant false
--feature System.Net.Http.EnableActivityPropagation false
--feature System.Net.Http.UseNativeHttpHandler true
--feature System.Reflection.Metadata.MetadataUpdater.IsSupported false
--feature System.Reflection.NullabilityInfoContext.IsSupported false
--feature System.Resources.ResourceManager.AllowCustomResourceTypes false
--feature System.Resources.UseSystemResourceKeys true
--feature System.Runtime.InteropServices.BuiltInComInterop.IsSupported false
--feature System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting false
--feature System.Runtime.InteropServices.EnableCppCLIHostActivation false
--feature System.Runtime.InteropServices.Marshalling.EnableGeneratedComInterfaceComImportInterop false
--feature System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization false
--feature System.StartupHookProvider.IsSupported false
--feature System.Text.Encoding.EnableUnsafeUTF7Encoding false
--feature System.Text.Json.JsonSerializer.IsReflectionEnabledByDefault true
--feature System.Threading.Thread.EnableAutoreleasePool false
--feature Xamarin.Android.Net.UseNegotiateAuthentication false
--feature Switch.System.Reflection.ForceInterpretedInvoke true
--feature Microsoft.Extensions.DependencyInjection.DisableDynamicEngine true
--feature System.Diagnostics.Metrics.Meter.IsSupported false
--feature Android.Runtime.AndroidEnvironment.VSAndroidDesignerIsEnabled false
--custom-step "-MarkStep:Microsoft.Android.Sdk.ILLink.SetupStep,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "Microsoft.Android.Sdk.ILLink.PreserveSubStepDispatcher,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "MonoDroid.Tuner.MarkJavaObjects,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "MonoDroid.Tuner.PreserveJavaExceptions,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "MonoDroid.Tuner.PreserveApplications,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "Microsoft.Android.Sdk.ILLink.PreserveRegistrations,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "Microsoft.Android.Sdk.ILLink.PreserveJavaInterfaces,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "MonoDroid.Tuner.FixAbstractMethodsStep,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "+CleanStep:MonoDroid.Tuner.AddKeepAlivesStep,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "+CleanStep:MonoDroid.Tuner.StripEmbeddedLibraries,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--custom-step "-MarkStep:MonoDroid.Tuner.FixLegacyResourceDesignerStep,/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/targets/../tools/Microsoft.Android.Sdk.ILLink.dll"
--skip-unresolved true --enable-serialization-discovery  --notrimwarn

[1/15] _Microsoft.Android.Resource.Designer.dll -> _Microsoft.Android.Resource.Designer.dll.so
[2/15] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
[3/15] System.Console.dll -> System.Console.dll.so
[4/15] StereoKit.dll -> StereoKit.dll.so
[5/15] ProjectName_Android.dll -> ProjectName_Android.dll.so
[6/15] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
[7/15] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
[8/15] System.Runtime.dll -> System.Runtime.dll.so
[9/15] System.Linq.dll -> System.Linq.dll.so
[10/15] netstandard.dll -> netstandard.dll.so
[11/15] System.Collections.dll -> System.Collections.dll.so
[12/15] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
[13/15] Java.Interop.dll -> Java.Interop.dll.so
[14/15] Mono.Android.dll -> Mono.Android.dll.so
[15/15] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/bin/java -Xmx1G -jar /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/bundletool.jar build-bundle --modules obj/Release/net8.0-android/android/bin/base.zip --output obj/Release/net8.0-android/android/bin/com.companyname.ProjectName.aab --config /var/folders/zt/5fq09bp54qvdzhwbt3yz0ldm0000gn/T/tmpeJFBeN.tmp 
/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/bin/jarsigner -keystore "/Users/mrstruijk/Library/Application Support/Xamarin/Mono for Android/debug.keystore" -storepass android -keypass android -digestalg SHA-256 -sigalg SHA256withRSA -signedjar bin/Release/net8.0-android/com.companyname.ProjectName-Signed.aab obj/Release/net8.0-android/android/bin/com.companyname.ProjectName.aab  androiddebugkey 
/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/bin/java -Xmx1G -jar /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/bundletool.jar build-apks --mode universal --bundle obj/Release/net8.0-android/android/bin/com.companyname.ProjectName.aab --output obj/Release/net8.0-android/android/bin/com.companyname.ProjectName-Universal.apks --aapt2 /usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/34.0.43/tools/Darwin/aapt2 --ks "/Users/mrstruijk/Library/Application Support/Xamarin/Mono for Android/debug.keystore" --ks-key-alias androiddebugkey --key-pass pass:android --ks-pass pass:android 
0>------- Finished building project: ProjectName_Android. Succeeded: True. Errors: 0. Warnings: 0
Build completed in 00:00:13.766

@maluoi
Copy link
Collaborator

maluoi commented Nov 17, 2023

Oh wow, okay, looks like they went the hard route! I could definitely imagine that bypassing large chunks of troublesome code :D Thanks for sharing this one! I need to give Rider a real try someday, ...and a Mac.

@mrstruijk
Copy link
Author

I thought so too, right? It looks like they're rebuilding the entire thing each time. That'll come and bite me in the ass when the project grows, no?

Rider is lovely! I got quite attached to it, since I come from a Unity background. IMHO there's no better IDE for Unity than Rider, since it is quite verbal about what's in the Inspector in Unity, and where certain stuff is used. That saved my bacon many times!

Rider and StereoKit seem to play along just fine as well. I'm starting SK projects via Terminal, then start Rider from there as well (needed to do this with VS Code too, otherwise they don't seem to find the .NET SDK). After that it's smooth sailing, even with .NET8.0.

And yes, go get a Mac. These M# chips are absolute killer. Get yourself a Pro/Max if you use multiple monitors. The price is.... rough, but it's an insane mix between portability and power, you won't find that anywhere else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants