From d6f38e38cd3db504fd8a62213c0011313c712278 Mon Sep 17 00:00:00 2001 From: Peter Retzlaff Date: Fri, 18 Oct 2019 10:57:52 +0200 Subject: [PATCH] Only attempt to use -e option when the packaged aapt binary is used. --- .../main/java/brut/androlib/res/AndrolibResources.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java index 5a695e66..a896bd39 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java @@ -563,10 +563,17 @@ final public class AndrolibResources { cmd.add("-x"); } - if (apkOptions.doNotCompress != null) { + if (apkOptions.doNotCompress != null && !customAapt) { + // Use custom -e option to avoid limits on commandline length. + // Can only be used when custom aapt binary is not used. String extensionsFilePath = createDoNotCompressExtensionsFile(apkOptions).getAbsolutePath(); cmd.add("-e"); cmd.add(extensionsFilePath); + } else if (apkOptions.doNotCompress != null) { + for (String file : apkOptions.doNotCompress) { + cmd.add("-0"); + cmd.add(file); + } } if (!apkOptions.resourcesAreCompressed) {