From 797fc3e332d8dbef12ed092c7fadc62241ba65b7 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Tue, 18 Jan 2022 07:32:41 -0500 Subject: [PATCH] fix: prevent file hold on tmpDir during build (#2745) --- .../apktool-lib/src/main/java/brut/androlib/Androlib.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 777f8e89..833a8d9d 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 @@ -498,7 +498,8 @@ public class Androlib { "AndroidManifest.xml"), new File(appDir, "res"), ninePatch, null, parseUsesFramework(usesFramework)); - Directory tmpDir = new ExtFile(apkFile).getDirectory(); + ExtFile tmpExtFile = new ExtFile(apkFile); + Directory tmpDir = tmpExtFile.getDirectory(); // Sometimes an application is built with a resources.arsc file with no resources, // Apktool assumes it will have a rebuilt arsc file, when it doesn't. So if we @@ -509,6 +510,8 @@ public class Androlib { : APK_RESOURCES_WITHOUT_RES_FILENAMES); } catch (DirectoryException ex) { LOGGER.warning(ex.getMessage()); + } finally { + tmpExtFile.close(); } // delete tmpDir