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

Moved AAB input to separate plugin #2165

Merged
merged 15 commits into from
Apr 26, 2024
Merged

Conversation

AndreiKud
Copy link
Contributor

@AndreiKud AndreiKud commented Apr 24, 2024

Hello! Moved aab-protobuf-related stuff to separate plugin.

  1. Made lists of resource table parsers and resource content loaders in ResourcesLoader and put protobuf parsers there from plugin. Couldn't figure out how to do this with decompilation passes, since content is loaded on demand.
    Also used getRoot() which is @ApiStatus.Internal for last few years. I suppose it's fine as long as the plugin is part of the project?
  2. Added BundleConfig.pb content parser with bundletool dependency. Previously it was shown as binary blob.
  3. Added PrettyPrint support same as in binary XMLs.
  4. Minor notes: fixed NPE with getNamedValues() in ManifestAttributes; added .aab extension in "add file" dialog filter.
  5. Had to enable isZip64 for shadowJar task in jadx-gui since it now contains more than 65535 entries, not sure if it can break something.

Attaching dummy aab in case you need it (rename extension to .aab).
app-debug.zip

@skylot
Copy link
Owner

skylot commented Apr 24, 2024

@AndreiKud thanks, looks great 👍
But there are a lot of changes, so I will need a couple of days for review 🙂

@skylot skylot mentioned this pull request Apr 24, 2024
3 tasks
@skylot
Copy link
Owner

skylot commented Apr 26, 2024

I commit a few changes to use API methods instead static ones for adding new res handlers.
Usage of static methods as an API is not good idea because such methods are hard to discover, and also this can cause issues if we have several class instances or replace old with new one. In this case reload project or start a new in jadx-gui cause grow of these lists, it is not causing visible issues because only one is used.
Everything else is good, thank you for your work 👍

@skylot skylot merged commit b85900a into skylot:master Apr 26, 2024
5 checks passed
@AndreiKud AndreiKud deleted the proto-res-input branch April 27, 2024 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants