-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[BUG] Add all classes*.dex to doNotCompress #3578
Comments
Some apps those dex files are deflated though - I've seen it happen with secondary loaders. Either way Apktool should properly read the compression of the file from the original to persist to the re-assembly. That must not be working with your sample snippets above. |
Confirmed as bug. |
PR linked above will close this on merge. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Information
apktool -version
) - 2.9.3, also tried on v2.9.2-27-5422bd70-SNAPSHOTjava --version
) - 17.0.10Problem
When a file contains multiple
classes*.dex
files, apktool only listsclasses.dex
indoNotCompress
. I believe this is an error because 1) what's the reason for storing just one DEX but deflating others? 2) modern Android recommends to not compress DEX inside APK/JAR.For example, this is the layout of an official
framework.jar
from Samsung (Android 14):Contents of
apktool.yml
after doingapktool d framework.jar
:If you then do
apktool b
andunzip -lv
the rebuiltframework.jar
:Note how
classes.dex
saysStored
while others sayDefl:N
.This can be worked around by manually adding
classes2.dex
, etc. todoNotCompress
inapktool.yml
. After doing so, allclasses*.dex
show up asStored
.The text was updated successfully, but these errors were encountered: