[tools] Replace APK utilities with skill file apps#12108
Conversation
Move assembly-store inspection and managed assembly extraction into skill-owned .NET file-based apps. Remove the redundant executable projects and launch wrappers while keeping the shared compatibility parser and exercising both apps in CI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 55493571-86e2-4326-850e-ea55883aa5d8
|
/review |
|
✅ Android PR Reviewer completed successfully! |
There was a problem hiding this comment.
Code Review — ⚠️ Needs minor changes
Reviewed the top commit ([tools] Replace APK utilities with skill file apps) on top of the stacked base #12104. The refactor cleanly consolidates the standalone reader/decompressor executables into two skill-owned dotnet run --file apps plus a shared AssemblyStorePayload helper, and wires both apps into Windows CI via --help smoke runs. The path-traversal guard (GetSafeOutputFile), overwrite refusal, and unique-output checks are good defensive touches.
Findings
⚠️ 2 error-handling issues (inline):InvalidDataExceptionfrom the path-traversal guard is not inMain’s catch list in the extractor, andParseArchListthrows an uncaughtInvalidOperationExceptionon bad--archinput in the reader. Both surface as stack traces instead of clean messages.- 💡 1 cleanup: empty unused
ShowHelp ()in the reader.
None are blockers, but the two error-handling items are worth addressing so malformed input/malicious archives fail gracefully.
Notes
- CI status is currently pending (checks not yet reported) — verify the two new file-app build steps go green before merge.
- Reviewed as the single commit atop #12104 per the PR description; retarget to
mainonce #12104 lands.
Automated review; verify suggestions against full context.
Generated by Android PR Reviewer for #12108 · 106.2 AIC · ⌖ 18.8 AIC · ⊞ 6.8K
Comment /review to run again
Keep the file-app project removals while incorporating the shared ELF symbol diagnostic changes from the compatibility branch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 55493571-86e2-4326-850e-ea55883aa5d8
Report invalid architecture filters and path traversal errors without stack traces, remove dead reader code, and correct the extractor usage text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 55493571-86e2-4326-850e-ea55883aa5d8
Summary
read-assembly-storeto invoke its bundled app directlyextract-android-assembliesskill for customer APK/AAB investigation and decompilation preparationStack
This PR is stacked on #12104, which provides the shared v1/v2/v3 and LZ4/Zstd compatibility layer. Review this PR as the single commit on top of that branch. It can be retargeted to
mainafter #12104 merges.File apps
The extractor handles:
payload, and_assembly_storewrappersCustomer inputs remain local. Extraction rejects path traversal, output-name collisions, and overwrites.
Validation
skill-creatorvalidation and package successfully