dotnet / android

.NET for Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C#
MIT License
1.93k stars 529 forks source link

Copy .msym files to output path on publish #8001

Open Redth opened 1 year ago

Redth commented 1 year ago

Android application type

.NET Android (net7.0-android, etc.)

Affected platform version

N/A

Description

dotnet public -f net7.0-android -o ./artifacts causes the .apk and .aab to output correctly, however it would be good to also get the .msym files copied here (or if that seems weird by default, perhaps another property to specify the path to copy them to).

Related: https://github.com/xamarin/xamarin-macios/issues/18190

Steps to Reproduce

^

Did you find any workaround?

No response

Relevant log output

No response

Redth commented 1 year ago

Looks like MonoSymbolArchive=True needs to be set to actually produce them, and then they might output there? Perhaps we should consider defaulting that to true for publish with release configs?

However setting it to true yields:

/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/33.0.46/tools/Xamarin.Android.Common.targets(2202,3): error MSB6004: The specified task executable location "/usr/local/share/dotnet/packs/Microsoft.Android.Sdk.Darwin/33.0.46/tools/Darwin/mono-symbolicate" is invalid. 

@steveisok @jonathanpeppers do we not have mono-symbolicate in our workloads?

jonathanpeppers commented 1 year ago

@Redth Mono has no support for symbolication in .NET 6+: