Ramblings of a Tampa engineer

Apktool v2.7.0 has been released! This release includes a small feature as well as packing in many improvements to handle the continued cat n mouse game with obfuscation at the resource level.

Large changes you'll notice as improvements are:

  • Support for API 33
  • Enhanced support for AndResGuard / Proguard resource tricks
  • Ability to generate a network security config via --net-sec-conf
  • Correct compression handling with remapped resources.
  • Enhanced support for applications with multiple styles res types.

This release was originally labeled as 2.6.2, but as the release was being built it was clear this was not a patch release and instead more fit following semantic guidelines a feature release.

The release went a bit longer than intended, but we introduced a few regressions during the building which delayed stabilizing the release. Our test suite has been adjusted to more easily catch this prior to merge. Our test suite also now runs on JDK8 through JDK17 on Windows, Mac and Linux for a full set of cross platform automated tests.

As what has become common - the community has stepped in massively to deliver great fixes and improvements to the tool. I can't thank them enough.

So welcome to Apktool 2.7.0


This release had 118 commits by 15 people

  • Connor Tumbleson (iBotPeaches) - 97
  • erev0s - 4
  • Igor Eisberg - 4
  • Dominic Lemire - 2
  • Build-0-Matic - 1
  • Danealau - 1
  • Goooler - 1
  • Jonathan Schoeller - 1
  • Kirlif - 1
  • Miepee - 1
  • Sven Marquardt - 1
  • Tvildo - 1
  • Victor de Pedraza Ajenjo - 1
  • auermich93 - 1
  • surendrajat - 1

Changes since 2.6.1

  • [#2845] - Add SDK T (API 33) support.
  • [#2776] - Add SDK S v2 (API 32) support.
  • [#2787] - Update internal aapt/aapt2.
  • [#2809, #2714] - Add support for newest ResourcesTypes.h specs (policy, overlay and staged alias).
  • [#1622] - Add ability to generate generic network security config (-n / --net-sec-conf).
  • [#2843] - Add helpful message during built apk message to identify location of apk.
  • [#2918, #2662] - Add bleeding edge smali package (2.5.2-dirty) via jitpack.
  • [#2952] - Add build support for JDK 17.
  • [#2473] - Fix resource unclosed during unknown file handling. (Thanks auermich93)
  • [#2815] - Fix style strings regression between aapt1/aapt2 builds. (Thanks IgorEisberg)
  • [#2778] - Fix support for uses-native-library in Manifest.
  • [#2789] - Fix support for usesPermissionFlags in Manifest.
  • [#2855] - Fix windows helper script to allow spaces in path name.
  • [#1719] - Fix decoding application if using multiple style res types. (Thanks tvildo)
  • [#2615] - Fix handling with malformed namespaces. (Thanks ljysdfz & MyAnoneNeko)
  • [#2887] - Fix handling of sparse flags during resource parsing. (Thanks iamr0s)
  • [#2878] - Fix crash when parsing a manifest numeric that resolves as null.
  • [#2900] - Fix crash when parsing HTML string with empty tag leading to invalid entry. (Thanks MaSven)
  • [#2805] - Fix crash when wrongly decoding overlay policies. (Thanks gramound)
  • [#2945] - Fix regression when decoding overlay policies.
  • [#2924] - Fix respecting of $XDG_DATA_HOME on Linux for framework files location. (Thanks Miepee)
  • [#2925] - Fix storing of obfuscated resource files for properly applying proper compression on build. (Thanks Kirlif)
  • [#2908] - Fix issue parsing an obfuscated resource with a improperly referenced parent resource.
  • [#2927] - Fix --only-main-classes winning over --no-src. (Thanks Surendrajat)
  • [#2933] - Fix disassembly of files mixed between r, R and res folders.
  • [#2940] - Fix handling of (name removed) resources. (Thanks Danealau)
  • [#2943] - Fix disassembly of raw resources for AndResGuard.
  • [#2911] - Fix attribute referencing to self package while using AndResGuard.
  • [#2771] - Revert automatic workaround for using private resources.
  • Upgrade CI Workflow to leverage latest actions. (Thanks Goooler)
  • Upgrade org.apache.commons:commons-text to 1.10.0 (from 1.9)
  • Upgrade org.yaml:snakeyaml to 1.32 (from 1.29)

Notes

  • Applications are becoming more and more difficult to build with aapt1, using the --use-aapt2 flag during rebuild is a good test.

Download

  • Apktool 2.7.0
    • ec5b561de3c55ddc2e2223c504b2726b (md5)
    • c11b5eb518d9ac2ab18e959cbe087499079072b04d567cdcae5ceb447f9a7e7d (sha256)
    • Rename to apktool.jar and follow the Instruction Guide if you need help.
You’ve successfully subscribed to Connor Tumbleson
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.