Skip to content

[Mono.Android] Bind API-37.1 - #12388

Open
jonpryor wants to merge 4 commits into
dotnet:mainfrom
jonpryor:dev/jonpryor/jonp-bind-api-37.1
Open

[Mono.Android] Bind API-37.1#12388
jonpryor wants to merge 4 commits into
dotnet:mainfrom
jonpryor:dev/jonpryor/jonp-bind-api-37.1

Conversation

@jonpryor

Copy link
Copy Markdown
Contributor

Context: https://developer.android.com/about/versions/17/qpr2

Android 17 QPR2 has been released.

We completely missed "c-2" Beta 1 and Beta 2; it's now final!

(Why "c-2"? No idea, but that's what the URL for
c-2-beta1 contains. Maybe "CANARY-2"?)

@jonpryor cannot even find an announcement for QPR2!

Step 1: bind it!
Step 2: Enumify it, make stable.

This is Step 1. We consider this binding unstable until we complete enumification (Step 2).


Pull Request
title and
description
should follow the
commit-messages.md workflow documentation, and in particular should include:

  • Useful description of why the change is necessary.
  • Links to issues fixed
  • Unit tests

@jonpryor
jonpryor force-pushed the dev/jonpryor/jonp-bind-api-37.1 branch 3 times, most recently from ec888bb to 4ca2a65 Compare August 14, 2026 16:57
@jonathanpeppers jonathanpeppers added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Aug 17, 2026
jonpryor and others added 4 commits August 17, 2026 14:19
Context: https://developer.android.com/about/versions/17/qpr2

Android 17 QPR2 has been released.

  * [API-37.1 vs. API-37][0]

We completely missed "c-2" Beta 1 and Beta 2; it's now final!

(Why "c-2"?  Presumably because ["c" was CinnamonBun][1], and
Android 17 QPR2 is the second "c" release…)

@jonpryor cannot even find an *announcement* for QPR2!

Step 1: bind it!
Step 2: Enumify it, make stable.

This is Step 1.  We consider this binding *unstable* until we complete
enumification (Step 2).

[0]: https://developer.android.com/sdk/api_diff/37.1/changes
[1]: https://discord.com/channels/732297728826277939/732297837953679412/1537836773986533506
PackDotNet runs after BuildDotNet and the workload smoke test, which can leave SDK tool assemblies loaded by MSBuild. Reuse the existing project-reference outputs when building additional API levels instead of attempting to overwrite those loaded assemblies.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d4a928f6-8b81-4458-adaf-1e5ca954cd68
The Windows template smoke build loads SDK tool assemblies into reusable MSBuild nodes. Shut those nodes down before PackDotNet rebuilds the API-level projects so the tool assemblies can be updated without file-lock failures.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d4a928f6-8b81-4458-adaf-1e5ca954cd68
@jonpryor
jonpryor force-pushed the dev/jonpryor/jonp-bind-api-37.1 branch from ea90ac2 to 40b7655 Compare August 17, 2026 18:19
@jonpryor

jonpryor commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Squash-and-merge commit message:

[Mono.Android] Bind API-37.1 (#12388)

Context: https://developer.android.com/about/versions/17/qpr1

Android 17 QPR1 has been released.

  * [API-37.1 vs. API-37][0]

We completely missed "c" Beta 1 and Beta 2; it's now final!

@jonpryor cannot even find an *announcement* for QPR1!

Step 1: bind it!
Step 2: Enumify it, make stable.

This is Step 1.  We consider this binding *unstable* until we complete
enumification (Step 2).

Additionally, the Windows **Test PackDotNet** step was failing:

	D:\a\_work\1\s\bin\Release\dotnet\sdk\11.0.100-rc.1.26411.119\Microsoft.Common.CurrentVersion.targets(5116,5): error MSB3027: Could not copy "D:\a\_work\1\s\external\Java.Interop\src\Java.Interop.Localization\bin\Release\Java.Interop.Localization.dll" to "D:\a\_work\1\s\external\..\bin\Release\lib\packs\Microsoft.Android.Sdk.Windows\37.0.0\tools\Java.Interop.Localization.dll". Exceeded retry count of 10. Failed. The file is locked by: "MSBuild.dll (9844)"
	D:\a\_work\1\s\bin\Release\dotnet\sdk\11.0.100-rc.1.26411.119\Microsoft.Common.CurrentVersion.targets(5116,5): error MSB3021: Unable to copy file "D:\a\_work\1\s\external\Java.Interop\src\Java.Interop.Localization\bin\Release\Java.Interop.Localization.dll" to "D:\a\_work\1\s\external\..\bin\Release\lib\packs\Microsoft.Android.Sdk.Windows\37.0.0\tools\Java.Interop.Localization.dll". The process cannot access the file 'D:\a\_work\1\s\bin\Release\lib\packs\Microsoft.Android.Sdk.Windows\37.0.0\tools\Java.Interop.Localization.dll' because it is being used by another process.

This happened because the Windows template smoke build loads SDK tool
assemblies into reusable MSBuild nodes.

Fix these MSBuild errors by shutting down those nodes down before the
`-t:PackDotNet` target rebuilds the API-level projects, so that the
tool assemblies can be updated without file-lock failures.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d4a928f6-8b81-4458-adaf-1e5ca954cd68

[0]: https://developer.android.com/sdk/api_diff/37.1/changes

@jonathanpeppers
jonathanpeppers enabled auto-merge (squash) August 17, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants