Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: parse aab format #63

Open
sunnylqm opened this issue Jun 17, 2021 · 16 comments
Open

Feature request: parse aab format #63

sunnylqm opened this issue Jun 17, 2021 · 16 comments
Assignees
Labels
enhancement New feature or request

Comments

@sunnylqm
Copy link
Contributor

https://developer.android.com/guide/app-bundle/app-bundle-format

It seems that there is just one more base folder compared to apk:

image

@chenquincy
Copy link
Owner

@sunnylqm Please provide a aab file for testing.

@chenquincy chenquincy added the enhancement New feature or request label Jun 17, 2021
@chenquincy
Copy link
Owner

chenquincy commented Jun 17, 2021

@sunnylqm I tried to parse the AAB file base on the current version. It seems not just one more folder. The AAB file's AndroidManifest.xml has a different chunk type compare to APK file, that make a parse error in xml-parser/binary.js. I will try it later but no sure when it will be resolved(because I'm working for a busy project).

@sunnylqm
Copy link
Contributor Author

@chenquincy Appreciate your effort! I'd like to buy you some coffee 👍

@chenquincy
Copy link
Owner

@sunnylqm I just checked some document of AAB file and found that things are more complicated than we thought.

image

Refer to this document.

The manifest.xml in AAB file is compiled with a protocol buffer format different from apk's manifest.xml(binary format).

It means that we need the detail of protocol buffer format to parse AAB file's manifest.xml. Unfortunately, I didn't find it.

@chenquincy
Copy link
Owner

If you can find or provide the protocol, I think I can resolve the issue with the protocol.

@sunnylqm
Copy link
Contributor Author

i think it means this one https://developers.google.com/protocol-buffers right?

@chenquincy
Copy link
Owner

@sunnylqm Yes, that's it. But we also need the proto file or json of the xml to decode it. Here is a js tool to decode protocol buffer format content: protobufjs.
I have no idea about the structure of the manifest.xml's proto.

@sunnylqm
Copy link
Contributor Author

@chenquincy
Copy link
Owner

chenquincy commented Jun 17, 2021

@sunnylqm Thanks for your help. I parsed it success just now, is this result you want:

{
  "element": {...},
  "source": {...}
}

@chenquincy
Copy link
Owner

@sunnylqm I had simplified the result, because the original result is too long.

@sunnylqm
Copy link
Contributor Author

sunnylqm commented Jun 17, 2021

I don't know but I think it is 😅

@sunnylqm
Copy link
Contributor Author

Very cool! Looking forward for a new version!

@chenquincy
Copy link
Owner

chenquincy commented Jun 17, 2021

@sunnylqm OK, I have removed the parse result. I still should take a while to write the final version. Be patient, not sure for the finish time. Thanks for your help and support again!

@DreamPWJ
Copy link

希望尽快啊,辛苦

@R1p4eg
Copy link

R1p4eg commented Aug 10, 2022

Hi there!

Any update on this issue/feature?)

@thekhegay
Copy link

@chenquincy helllo! any updates?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants