Apktool v2.5.0 adds better support for decoding apps built for Android 11
If you’re into reverse-engineering Android applications, then the name “Apktool” should ring a bell. Maintained by Connor Tumbleson AKA XDA Recognized Developer iBotPeaches, this open source tool allows you to disassemble Android application binary (known as APK) files, change something, and rebuild them. After a bit of a development hiatus, Apktool has now been freshly updated to version 2.5.0, with the new headline feature being “Android 11 support.”
In order to streamline things significantly on Android 11, the smali/baksmali backend of Apktool needs an upgrade. Not only the latest build addresses the issue, but it also comes with the necessary framework update. The error logging module has been revamped as well, so that users can get more done in less time without bothering about deciphering cryptic error messages. In addition, the update brings tons of patches to the Android Asset Packaging Tool (aapt/aapt2) to improve macOS compatibility and minimize the possibility of crashing during compilation.
You can view the full changelog of the update below:
- [#2399, #2397, #2369, #2167] Android 11 Support.
- [#2006, #1718] Upgraded smali/baksmali to v2.4.0.
- [#2110, #2053] Deprecate 32 bit operating systems.
- [#2251] Fix thread crash with binary name collision.
- [#2323] Fix compression on
- [#2333] Fix crash with empty files during compression. (Thanks peret)
- [#2328, #2364] Fix debug mode handling with aapt2. (Thanks Comnir)
- [#2386, #2217, #2119] Fix handling XML files with
- [#2300] Fix NPE while disassembling manifest with no resource matching resId.
- [#2438, #1903] Fix aapt2 with dummy properties of bool(false) to ref(null).
- [#2317, #2188, #1859] Fix non-standard namespaces in obfuscated manifests.
- [#1945, #2146] Fix NPE when finding referent of a missing resource.
- [#2343] Fix error message when framework directory cannot be written.
- [#2411] Add tests for
- [#1913] Added new list frameworks command.
- [#2368] Added support for
- Updated response codes to properly be non-zero if invalid parameters passed. (Thanks Giszmo)
- Updated license headers to reflect start date of project & remove javadoc style. (Thanks friederbluemle)
- Added support for
JAVA_HOMEvariable on Windows helper script. (Thanks vldmrrr)
- Added support for SDK Codename “S”
- Upgrade to gradle 6.4.1
- Replaced TravisCI with GitHub Actions
If you haven’t already updated, just download the latest version using the links below and check out the install instructions for additional details. There is also a dedicated support thread on our forums for more info to get started.
Source: Connor Tumbleson’s Blog