Regression: incorrect nullability annotations in Xamarin.AndroidX.AppCompat 1.8.0
I maintainer di solito rispondono entro 2 giorni
@jonathanpeppers ci sta già lavorando.
Dal 10/10/2026.
- #1559 di @copilot-swe-agent — chiusa senza merge
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 40/100
Direzione di ricerca
Start from the reproduction: a new androidlib project referencing Xamarin.AndroidX.AppCompat 1.8.0, where AlertDialog.Builder(null!).Create() emits CS8600 but 1.7.1.4 does not. Compare the nullability annotations on the Java-bound members between the two versions, and check the same for Fragment.GetString. Done means the warnings disappear on 1.8.0 and the annotations match the Java source. The fix probably lives in binding metadata, so the maintainers' guidance on where that lives matters before editing.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Android framework version
net10.0-android
Affected platform version
.NET 10.0.400
Description
Xamarin.AndroidX.AppCompat used to have correct C# nullability annotations in version 1.7.1.4, but they're gone in version 1.8.0, resulting in numerous build warnings.
This is not an isolated incident; A similar regression exists for the latest version of AndroidX.Fragment.App (e.g. in Fragment.GetString). My guess is the nullable annotations are not being properly bound from Java.
Steps to Reproduce
- Create a project:
dotnet new androidlib
dotnet package add '[email protected]'
- Add the following code:
public class Class1
{
public void X()
{
AndroidX.AppCompat.App.AlertDialog dialog = new AndroidX.AppCompat.App.AlertDialog.Builder(null!).Create();
// Code is valid because the return value of Create() is non-null
}
}
dotnet buildand observe the build warnings:
Class1.cs(9,53): warning CS8600: Converting null literal or possible null value to non-nullable type.
- Downgrade to 1.7.1.4 and observe the warnings are gone
Did you find any workaround?
No response
Relevant log output
- Lingua principale
- C#
- Stelle
- 319
- Fork
- 73
- Merge medio
- 2g 11h
- PR unite (30g)
- 8
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dotnet/android-libraries
-
Unfreeze Xamarin.Firebase.Firestore and Xamarin.Protobuf.JavaLite now that Firebase BoM 35.0.0 fixes the Protolite conflictForse già presa @jonathanpeppers l’ha presa 8 giorni fa. Aperta
dotnet/android-libraries#1563 · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 20/100
dotnet/android-libraries#1561 · 4 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
dotnet/android-libraries#1549 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
dotnet/android-libraries#1503 ·
I maintainer di solito rispondono entro 2 giorni
-
Compose UI.Graphics: SolidColor(long) constructor stripped due to Kotlin @JvmInline value class param (sibling of java-interop#1440 for ctors)Forse di nuovo libera @jonathanpeppers l’ha presa 132 giorni fa e non c’è nessuna pull request aperta. Aperta
dotnet/android-libraries#1470 · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di dotnet/android-libraries
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
bug priority: P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
IridiumIO/CompactGUI#699 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno