From 5db19b3329b8bb3a5754f27aea4f29a60db75bd9 Mon Sep 17 00:00:00 2001 From: Peter Retzlaff Date: Tue, 21 Apr 2020 09:43:13 +0200 Subject: [PATCH] Put empty, uncompressed files on doNotCompress list (fixes #2333). We do not want one empty file to cause all files with that extension to not be compressed, so we always put the full filename on the doNotCompress list in this case. --- .../apktool-lib/src/main/java/brut/androlib/Androlib.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java index 54432a33..8585c0c8 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java @@ -163,11 +163,13 @@ public class Androlib { try { Directory unk = apkFile.getDirectory(); Set files = unk.getFiles(true); - String ext; + String ext = ""; for (String file : files) { - if (isAPKFileNames(file) && unk.getCompressionLevel(file) == 0 && unk.getSize(file) != 0) { - ext = FilenameUtils.getExtension(file); + if (isAPKFileNames(file) && unk.getCompressionLevel(file) == 0) { + if (unk.getSize(file) != 0) { + ext = FilenameUtils.getExtension(file); + } if (ext.isEmpty() || !NO_COMPRESS_PATTERN.matcher(ext).find()) { ext = file;