* refactor: ExtDataInput rework, source layout and formatting Refactor ExtDataInput classes: ExtDataInput is now the extended interface, ExtDataInputStream is an easy-to-use FilterInputStream implementing ExtDataInput with static creator methods for big-endian and little-endian wrappers. Refactor AaptManager class: unify aapt-related verifications to one class. Replace Apache Commons' deprecated CountingInputStream with Google Guava's equivalent with the same name. Apache's BoundedInputStream is an overkill for our use case and its constructors are deprecated as well. Normalize source layout to have a common and somewhat more standard order: Static fields first, instance fields after, methods last. Fix some formatting, like empty spaces or extra spaces and exception messages. Renamed ResXmlPatcher to ResXmlUtils, as it has more purposes than just patching. Renamed DirUtil to DirUtils, to match other utility classes naming convention. Moved "properties/apktool.properties" to jar's root, to match smali/baksmali. Moved Android Framework to "prebuilt", as it is just a prebuilt, looks out of place among .class files. @SuppressWarnings removed from Duo as there are quite a few unsafe assignments of raw Duo[] instances to parameterized Duo<> variables in the project, this is just Java being the primitive boilerplate it is, no point in fighting it. No end-user changes. Tested against a full ROM decompile/recompile, no issues found. * small tweak * last refinement * missed a stream
Apktool
This is the repository for Apktool. The website is on the Apktool docs branch.
Apktool is a tool for reverse engineering third-party, closed, binary, Android apps. It can decode resources to nearly original form and rebuild them after making some modifications; it makes it possible to debug smali code step-by-step. It also makes working with apps easier thanks to project-like file structure and automation of some repetitive tasks such as building apk, etc.
Apktool is NOT intended for piracy and other non-legal uses. It could be used for localizing and adding features, adding support for custom platforms, and other GOOD purposes. Just try to be fair with the authors of an app, that you use and probably like.
Support
Security Vulnerabilities
If you discover a security vulnerability within Apktool, please send an e-mail to Connor Tumbleson at connor.tumbleson(at)gmail.com. All security vulnerabilities will be promptly addressed.
Links
- Downloads
- Downloads Mirror
- How to Build
- Documentation
- Bug Reports
- Changelog/Information
- XDA Post
- Source (Github)
- Source (Bitbucket)
Sponsors
Special thanks goes to the following sponsors:
Sourcetoad
Sourcetoad is an award-winning software and app development firm committed to the co-creation of technology solutions that solve complex business problems, delight users, and help our clients achieve their goals.
Emerge Tools
Emerge Tools is a suite of revolutionary products designed to supercharge mobile apps and the teams that build them.