Skip to content

Commit 14f1bb5

Browse files
committed
[build] Update $(AndroidApiLevel)=26
Commit 759fd47 [broke the **macOS+msbuild** build][0]: [0]: https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android-msbuild/387/ error XA0001: Unsupported or invalid $(TargetFrameworkVersion) value of 'v7.1'. Please update your Project Options. The cause of the problem is the `<ResolveSdks/>` task: if both `$(AndroidApiLevel)` and `$(TargetFrameworkVersion)` are set, then `$(AndroidApiLevel)` takes precedence, and we set `$(TargetFrameworkVersion)` to the value that corresponds to `$(AndroidApiLevel)`. Commit 759fd47 updated `$(AndroidFrameworkVersion)` to v8.0, so "normal" builds (`make all`) will only build `Mono.Android.dll` for v8.0. However, 759fd47 forgot to update `$(AndroidApiLevel)` to 26 -- the API level corresponding to v8.0 -- which resulted in a mismatch when building e.g. `Xamarin.Android.NUnitLite.csproj`: `$(AndroidApiLevel)` was 25, which implies/requires `$(TargetFrameworkVersion)`=v7.1, but we never built v7.1, which resulted in the above XA0001 error. Fix the problem by updating `$(AndroidApiLevel)` to default to `$(AndroidLatestApiLevel)` -- which is 26 as of 759fd47 -- to help avoid this mismatch again.
1 parent 759fd47 commit 14f1bb5

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Configuration.props

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
<!-- *Latest* API level binding that we support; used when building src/Xamarin.Android.Build.Tasks -->
1717
<AndroidLatestApiLevel Condition="'$(AndroidLatestApiLevel)' == ''">26</AndroidLatestApiLevel>
1818
<AndroidLatestFrameworkVersion Condition="'$(AndroidLatestFrameworkVersion)' == ''">v8.0</AndroidLatestFrameworkVersion>
19+
<!-- The API level and TargetFrameworkVersion for the default Mono.Android.dll build -->
20+
<AndroidApiLevel Condition=" '$(AndroidApiLevel)' == '' ">$(AndroidLatestApiLevel)</AndroidApiLevel>
21+
<AndroidFrameworkVersion Condition=" '$(AndroidFrameworkVersion)' == '' ">$(AndroidLatestFrameworkVersion)</AndroidFrameworkVersion>
1922
</PropertyGroup>
2023
<PropertyGroup>
2124
<AutoProvision Condition=" '$(AutoProvision)' == '' ">False</AutoProvision>
@@ -36,10 +39,8 @@
3639
<ManagedRuntimeArgs Condition=" '$(ManagedRuntimeArgs)' == '' And '$(ManagedRuntime)' == 'mono' ">--debug=casts</ManagedRuntimeArgs>
3740
<MonoSgenBridgeVersion Condition=" '$(MonoSgenBridgeVersion)' == '' ">5</MonoSgenBridgeVersion>
3841
<HOME Condition=" '$(HOME)' == '' ">$(HOMEDRIVE)$(HOMEPATH)</HOME>
39-
<AndroidApiLevel Condition=" '$(AndroidApiLevel)' == '' ">25</AndroidApiLevel>
4042
<AndroidPlatformId Condition=" '$(AndroidPlatformId)' == '' ">$(AndroidApiLevel)</AndroidPlatformId>
4143
<AndroidPreviousFrameworkVersion Condition=" '$(AndroidPreviousFrameworkVersion)' == '' ">v1.0</AndroidPreviousFrameworkVersion>
42-
<AndroidFrameworkVersion Condition=" '$(AndroidFrameworkVersion)' == '' ">$(AndroidLatestFrameworkVersion)</AndroidFrameworkVersion>
4344
<AndroidToolchainCacheDirectory Condition=" '$(AndroidToolchainCacheDirectory)' == '' ">$(HOME)\android-archives</AndroidToolchainCacheDirectory>
4445
<AndroidToolchainDirectory Condition=" '$(AndroidToolchainDirectory)' == '' ">$(HOME)\android-toolchain</AndroidToolchainDirectory>
4546
<AndroidMxeInstallPrefix Condition=" '$(AndroidMxeInstallPrefix)' == '' And '$(NeedMxe)' == 'true' ">$(AndroidToolchainDirectory)\mxe</AndroidMxeInstallPrefix>

0 commit comments

Comments
 (0)