Skip to content

Commit

Permalink
[Xamarin.Android.Build.Tasks] fix InstallAndroidDependencies in .NE…
Browse files Browse the repository at this point in the history
…T 8 (#8375)

Fixes: https://dev.azure.com/devdiv/DevDiv/_workitems/edit/1837913

Context: dc3ccf2

Testing on a DevBox with only the .NET 8 RC 1 SDK and
`dotnet workload install maui`:

	> dotnet new android
	> dotnet build -t:InstallAndroidDependencies -p:AndroidSdkDirectory=C:\tools\android-sdk -p:JavaSdkDirectory=C:\tools\jdk -bl
	Microsoft.Android.Sdk.Windows\34.0.0-rc.1.432\tools\Xamarin.Android.Common.Debugging.targets(110,2):
	error XA5300:  The Android SDK directory could not be found. Check that the Android SDK Manager in Visual Studio shows a valid installation. To use a custom SDK path for a command line build, set the 'AndroidSdkDirectory' MSBuild property to the custom path.

Ok, that's completely broken... So let's add `-c Release`, as this
target is related to Fast Deployment:

	Microsoft.Android.Sdk.Windows\34.0.0-rc.1.432\tools\Xamarin.Android.Common.targets(664,2):
	error : Could not locate Java 6 or 7 SDK.

I tested .NET 7 and it worked fine?!?

It turns out to be due to an additional `_ResolveMonoAndroidSdks` target
running in .NET 8 that *doesn't* run in .NET 7:

https://github.com/xamarin/xamarin-android/blob/547a157a7aeae930e4fc6092636fa20771ff1ef6/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.BuildOrder.targets#L181

This was introduced in dc3ccf2, but I don't think it was needed.

The `GetAndroidDependencies` target doesn't run during a normal build,
so it doesn't seem like `$(GetAndroidDependenciesDependsOn)` should
need to run anything extra either.

Update `$(GetAndroidDependenciesDependsOn)` so that the
`_ResolveMonoAndroidSdks` target is no longer executed.

With this change in place, `InstallAndroidDependencies` works on my
DevBox, and I'm also able to build apps in `Debug` and `Release` mode.
  • Loading branch information
jonathanpeppers committed Sep 27, 2023
1 parent 36bf7fb commit 27347a7
Showing 1 changed file with 0 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,6 @@ properties that determine build ordering.
_BeforeGetAndroidDependencies;
_SetLatestTargetFrameworkVersion;
_ResolveSdks;
_ResolveMonoAndroidSdks;
_ResolveAndroidTooling;
$(GetAndroidDependenciesDependsOn);
</GetAndroidDependenciesDependsOn>
Expand Down

0 comments on commit 27347a7

Please sign in to comment.