{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreigewmlgwjfi5oatzkiumewez5vkparrtwpbcu53tbdpzp5c6z4lrm",
"uri": "at://did:plc:6u33lhk3p4ma2ife2cpatatw/app.bsky.feed.post/3mfhrzdh5ovz2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreif576xca6ccmjshkfwgc2jlvv6fen3hxmarl6nak2ci7lhnmtev5m"
},
"mimeType": "image/png",
"size": 12364
},
"description": "Apktool v3.0.0 has been released dropping support for aapt1, 32-bit and heavily improving the internals of the tool.",
"path": "/2026/02/22/apktool-v3-0-0-released/",
"publishedAt": "2026-02-22T18:40:50.000Z",
"site": "https://connortumbleson.com",
"tags": [
"apktool.org",
"Apktool v3.0.0 release post",
"MIUI roms",
"OpenAI for PHP",
"fastlane",
"Igor",
"GitHub Sponsors",
"Emerge Tools",
"Sentry",
"Sourcetoad",
"[#3820",
"[#3885",
"[#3888",
"[#4001",
"[#4041",
"[#4044",
"[#3994",
"[#3997",
"[#4059",
"[#3767",
"3767, [#3943",
"[#3810",
"[#3905",
"[#3990",
"[#4025",
"[#4021",
"[#4038",
"[#3998",
"3998, [#4026",
"[#4003",
"4003, [#4080",
"[#4011",
"[#4017",
"[#4018",
"4018, [#4050",
"[#4033",
"[#4031",
"4031, [#4064",
"4064, [#4090",
"Download Apktool 3.0.0",
"Apktool 3.0.0",
"Instruction Guide",
"3.0.0 Doc Site Post",
"Project Site",
"GitHub",
"Bug Tracker",
"XDA Thread",
"Buy me a ~~Coffee~~ Beer"
],
"textContent": "Apktool v3.0.0 has been released! A major release dropping support for aapt1 and 32 bit support while re-engineering CLI parameters and heavily rewriting the internals of Apktool for easier long-term maintenance.\n\nThis time in honor with the project starting to live without my personal blog - the majority of details will be on the official release post on apktool.org instead of this blog. This blog will go into more about the meta details of maintaining a large open source project for over a decade.\n\n💡\n\nOfficial Apktool v3.0.0 release post on apktool.org\n\nAs 15 years of maintaining Apktool approached I realized I don't really develop in Java anymore. I don't translate MIUI roms as a hobby and outside of a small bit of work auditing applications on Android - I don't really work in Android anymore. It wasn't fair to Apktool as my focus was pulled to OpenAI for PHP or fastlane recently.\n\nSo knowing Igor had been giving pull requests to Apktool for years it was an easy ask to grant him access to the repository with a maintainer role. So Igor helped majorly in designing and stabilizing Apktool v3 as well as reviewing support issues and feedback. As I hacked it to pieces over the past decade fixing crashes here and there it was great to have someone review the code as a whole and iterate with a design in their mind.\n\nI don't yet have a fully automated Apktool release process as the signing part is still hooked my private GPG key and thus must be done locally. This means all releases are only possible by myself at this time. I've been researching how other Java applications in the open source space sign and publish to Maven in a purely automated fashion. The downside right now is any process that does work doesn't look like an amount of scripts and tooling I want to maintain alongside Apktool.\n\nSo I'm happy Apktool continues to live on with modernization and enhancements with myself a bit more in the shadows than normal. Igor knows the Android space better than me and is rapidly improving Apktool more-so than I could.\n\n* * *\n\n**Sponsors**\n\nI launched GitHub Sponsors to help provide another alternative for folks showing appreciation. I want to remind folks of two companies that continue to hold a monthly donation for the project.\n\n * Emerge Tools (now Sentry) came online to sponsor the tool.\n * Sourcetoad (self employer) additionally joined to sponsor (as well as a few other projects).\n\n\n\n* * *\n\n**This release had 49 commits by 4 people & 1 robot.**\n\n * Igor Eisberg - 23 commits\n * Dependabot (Robot) - 15 commits\n * Connor Tumbleson - 9 commits\n * jpstotz - 1 commit\n * salvogiangri - 1 commit\n\n\n\n* * *\n\n# Changes since 2.12\n\n * [#3820] Drop support for aapt1. (Thanks IgorEisberg)\n * [#3885] Drop support for 32-bit platforms. (Thanks IgorEisberg)\n * [#3885] Drop short flags for any advanced options. (Thanks IgorEisberg)\n * [#3885] Drop `-api / --api-level` option for automatic detection. (Thanks IgorEisberg)\n * [#3885] Support disassembling resources not in `res`|`r`|`R` folders. (Thanks IgorEisberg)\n * [#3888] Support new `BinaryResourceParser`, `ResChunkPullParser` and `BinaryDataInputStream` for modern disassembly for resources. (Thanks IgorEisberg)\n * [#3885] Change all short commands to a single character to enable multiple commands like `-vfo` for `-v -f -o`. (Thanks IgorEisberg)\n * [#3885] Change `efd|empty-framework-dir` to `cf|clean-frameworks`. (Thanks IgorEisberg)\n * [#3885] Change `packageInfo` to `resourcesInfo` in `apktool.yml` representing all transformation options. (Thanks IgorEisberg)\n * [#3885] Change hex integer values to preferred compact form. (`0x20` instead of `0x00000020`) (Thanks IgorEisberg)\n * [#4001] Change temporary files to be prefixed with binary name (ie aapt2). (Thanks jpstotz)\n * [#4041] Change default resolve mode to `KEEP` (`DEFAULT` in v3) instead of `REMOVE`. (Thanks IgorEisberg)\n * [#4044] Change resolve modes to `default`, `greedy` and `lazy` to improve serialization. (Thanks IgorEisberg)\n * [#3885] Fix all `<item>` tags to properly reference their respective resource types. (Thanks IgorEisberg)\n * [#3885] Fix usage of `dp` instead of `dip` as a more modern development standard. (Thanks IgorEisberg)\n * [#3885] Fix usage of `match_parent` instead of `fill_parent` as a more modern development standard. (Thanks IgorEisberg)\n * [#3885] Fix color values to represent the format they were in the original apk. (Thanks IgorEisberg)\n * [#3994] Fix odd integer encoding behavior as a string. (Thanks IgorEisberg)\n * [#3994] Fix support for feature flags prefixed with exclamation mark. (Thanks IgorEisberg)\n * [#3997] Fix building on headless CI systems.\n * [#4041] Fix entry spec naming to account for malicious or invalid spec names. (Thanks IgorEisberg)\n * [#4041] Fix injection of entries to account for stripped apks. (Thanks IgorEisberg)\n * [#4059] Fix handling of styled strings that fail valid checks. (Thanks IgorEisberg)\n * #3767, [#3943] Swap to google/smali built from source due to upstream abandonment.\n * [#3810] Fix assumption of resources and move to source of truth of `resources.arsc`. (Thanks IgorEisberg)\n * [#3905] Fix maven pipeline for modern Sonatype publishing.\n * [#3990] Upgrade `guava` to `33.5.0-jre`.\n * [#4025] Upgrade `commons-cli` to `1.11.0`.\n * [#4021] Upgrade `commons-io` to `2.21.0`.\n * [#4038] Upgrade `commons-text` to `1.15.0`.\n * #3998, [#4026] Upgrade `commons-lang3` to `3.20.0`.\n * #4003, [#4080] Upgrade `gradle/actions` to `5.0.1`.\n * [#4011] Upgrade `github/codeql-action` to `v4`.\n * [#4017] Upgrade `xmlunit-legacy` to `2.11.0`.\n * #4018, [#4050] Upgrade `actions/upload-artifact` to `v6`.\n * [#4033] Upgrade `actions/checkout` to `v6`.\n * #4031, #4064, [#4090] Upgrade `r8` to `9.0.32`.\n\n\n\n## Notes\n\n * This is the first release of 3.0.0 - while we tested it heavily internally we may have a regression somewhere. v3.0.1 will follow quickly in case of an issue.\n\n\n\n## Download\n\nDownload Apktool 3.0.0\n\n * Apktool 3.0.0\n * `7cdebcc6c9248e62fdceb8e96abda99e` (md5)\n * `06fed946b272eb777fdb6dc0bbef0e13e0d393144ee367a510acba18b41597b9` (sha256)\n * Rename to `apktool.jar` and follow the Instruction Guide if you need help.\n * 3.0.0 Doc Site Post\n\n\n\n## Links\n\n * Project Site\n * GitHub\n * Bug Tracker\n * XDA Thread\n * GitHub Sponsors\n * Buy me a ~~Coffee~~ Beer\n\n",
"title": "Apktool v3.0.0 Released",
"updatedAt": "2026-02-22T18:40:50.000Z"
}