Update AssemblyStore documentation to match current implementation #10266
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The AssemblyStore format documentation in
Documentation/project-docs/AssemblyStores.mdwas outdated and contained several inaccuracies compared to the actual C++ implementation. This PR updates the documentation to reflect the current format as defined insrc/native/clr/include/xamarin-app.hh.Key Changes
Store Location and Architecture
lib/directories within APK/AAB archives, not theassemblies/directoryStruct Definitions
AssemblyStoreHeaderfields: Updated from outdatedlocal_entry_count,global_entry_count,store_idto actualentry_count,index_entry_count,index_sizeAssemblyStoreAssemblyDescriptorto correctAssemblyStoreEntryDescriptormapping_indexfield in the descriptor structureFile Format Description
[HEADER],[INDEX],[ASSEMBLY_DESCRIPTORS],[ASSEMBLY_NAMES],[ASSEMBLY DATA]AssemblyStoreIndexEntrywith platform-specific hash typesNew Native Struct Documentation Section
[[gnu::packed]]attributesxamarin::android::hash_ttype variations for 32-bit vs 64-bit platformsFile References
src/monodroid/jni/xamarin-app.hhto currentsrc/native/clr/include/xamarin-app.hhThe documentation now accurately reflects the Assembly Store format implementation and provides developers with correct information for understanding the binary file structure.
Fixes #10265.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.