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 532 forks source link

`<AndroidMavenLibrary>` support for nonstandard artifact filenames #9465

Open FA72 opened 3 weeks ago

FA72 commented 3 weeks ago

Android framework version

net9.0-android

Affected platform version

VS 2022 Preview v. 17.12.0 Preview 4.0

Description

Hello! I encountered an issue where, when loading certain .aar files from Maven, the version number also specifies a debug/release parameter. The easiest way to illustrate this is with a ReactNative library example. There, you have react-android-0.76.0-debug.aar and react-android-0.76.0-release.aar. With the current setup and using the line:

<AndroidMavenLibrary Include="com.facebook.react:react-android" Version ="0.76.0"/> the following error occurs:

1>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\35.0.0-rc.2.152\tools\Xamarin.Android.Bindings.Maven.targets(28,5): error XA4236: Cannot download Maven artifact 'com.facebook.react:react-android'.
1>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\35.0.0-rc.2.152\tools\Xamarin.Android.Bindings.Maven.targets(28,5): error XA4236: - react-android-0.76.0.jar: Response status code does not indicate success: 404 (Not Found).
1>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\35.0.0-rc.2.152\tools\Xamarin.Android.Bindings.Maven.targets(28,5): error XA4236: - react-android-0.76.0.aar: Response status code does not indicate success: 404 (Not Found).

Steps to Reproduce

  1. File > New Project > Android Java Library Binding > Create
  2. Open .csproj File
  3. Add
<ItemGroup>
    <AndroidMavenLibrary Include="com.facebook.react:react-android" Version ="0.76.0"/>
</ItemGroup>
  1. Build project

Did you find any workaround?

No response

Relevant log output

No response

jpobst commented 3 weeks ago

Hmm, I guess we'll need to add some sort of metadata that allows one to specify the filename like:

<AndroidMavenLibrary Include="com.facebook.react:react-android" Version="0.76.0" ArtifactFilename="react-android-0.76.0-release.aar" />