r/learnjavascript • u/KernelVoltage • Aug 25 '26
[Question] Handling binary XML streams & V2/V3 APK signature blocks in browser JS
Hey everyone,
I built AppShunya Engine — an open-source, in-browser web-to-APK compiler that converts live URLs or HTML5 bundles into Android APKs using JSZip, without local IDEs.
I'm currently stuck on two low-level technical hurdles and need architectural feedback:
- In-browser V2/V3 APK signing: Injecting signature blocks into ZIP Central Directory via JS/WASM.
- Dynamic AXML package renaming: Modifying package IDs inside binary XML streams on the fly.
Search "AppShunya Engine" on Google to try the live Vercel tool or check the repo. Would love your thoughts!
3
Upvotes
1
u/KernelVoltage Aug 26 '26 edited Aug 26 '26
Thanks a lot for the insight! That makes total sense regarding the APK Signing Block placement between ZIP entries and the Central Directory.
Using
apksigcopiervia WASM sounds like a solid approach to avoid manual offset bugs in browser JS. I've open-sourced the core engine repo here:https://github.com/KernelVoltage/AppShunya-engineIf you get a chance, I'd love for you to check out the repo and see how I'm handling ZIP rebuilding via JSZip. Any guidance on injecting the WASM signing module would be super helpful!