Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Automatically include NativeAOT debug symbols in Android App Bundles for Google Play

Aperta
#13,206 0 commenti 1 reazione 2 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@simonrozsival ci sta già lavorando.

Dal 20/10/2026.

  • #13211 di @copilot-swe-agent — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
52/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
android, csharp

Direzione di ricerca

Start by tracing the Android App Bundle metadata packaging target referenced in the workaround, especially _BuildApkEmbed, and how Release NativeAOT output paths vary by ABI. Add automated coverage for symbol paths, inclusion, and matching build IDs, then confirm the resulting bundle is accepted by Play Console without the missing-symbol warning. The payload names no test files or implementation files.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Area: App+Library Build needs-triage
Android framework version

net11.0-android (Preview)

Affected platform version

Reported with .NET SDK 11.0.100-rc.2.26504.105 and Android workload 37.2.0-rc.2.84.

Description

Automatically include the generated NativeAOT debug symbols in Android App Bundles (.aab) so Google Play can use them for native crash reports without a custom MSBuild target.

This is a focused follow-up to the comment by @tipa in #8903. The reporter states that explicitly adding the generated symbols to the bundle removed the Play Console warning about missing native debug symbols.

The SDK should package the generated symbols under BUNDLE-METADATA/com.android.tools.build.debugsymbols/<ABI>/, with the name lib$(TargetName).so.dbg, for each ABI included in a Release NativeAOT bundle. The symbols must match the native library in the bundle. Users should not need to specify ABI paths or add a custom target.

Acceptance criteria:

  • Release NativeAOT bundles include the generated app symbols for each packaged ABI.
  • Packaged symbols have build IDs that match the corresponding native libraries.
  • Add automated coverage for the bundle paths and symbol inclusion.
  • Confirm that Play Console accepts the symbols without the missing-symbol warning for the NativeAOT app library.

The reporter checked clean builds, matching build IDs, and local ndk-stack source-line lookup. Production crash symbolication in Google Play and Mono were not tested. This issue covers the generated NativeAOT app library symbols; the broader native crash support request remains in #8903.

Steps to Reproduce
  1. Build a .NET 11 Android NativeAOT app in Release mode with PublishAot=true and AndroidPackageFormat=aab.
  2. Upload the bundle to Google Play Console.
  3. Observe the warning about missing native debug symbols.
  4. Add the target below, rebuild, and upload the bundle. The reporter states that this removed the warning.
Did you find any workaround?

@tipa supplied this target for arm64-v8a and x86_64:

<Target Name="IncludePlayNativeSymbols" BeforeTargets="_BuildApkEmbed" Condition="'$(Configuration)' == 'Release' And '$(PublishAot)' == 'true' And '$(AndroidPackageFormat)' == 'aab'">
  <ItemGroup>
    <AndroidAppBundleMetaDataFile Include="com.android.tools.build.debugsymbols/arm64-v8a/lib$(TargetName).so.dbg:$(OutputPath)android-arm64/native/lib$(TargetName).dbg.so" />
    <AndroidAppBundleMetaDataFile Include="com.android.tools.build.debugsymbols/x86_64/lib$(TargetName).so.dbg:$(OutputPath)android-x64/native/lib$(TargetName).dbg.so" />
  </ItemGroup>
</Target>
Relevant log output

No build logs were supplied in the source comment. The Play Console warning quoted in #8903 is:

This App Bundle contains native code, and you've not uploaded debug symbols. We recommend you upload a symbol file to make your crashes and ANRs easier to analyze and debug.

Lingua principale
C#
Stelle
2.1k
Fork
579
Merge medio
1g 13h
PR unite (30g)
238

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dotnet/android

Tutte le issue di dotnet/android

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.