From 25dc7c0bc81d82bf406d4be60f100d400753449e Mon Sep 17 00:00:00 2001 From: kotori0 Date: Mon, 21 Dec 2020 15:56:35 +0800 Subject: [PATCH] Close JarFile --- .../riru/edxp/util/MetaDataReader.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/xposed-bridge/src/main/java/com/elderdrivers/riru/edxp/util/MetaDataReader.java b/xposed-bridge/src/main/java/com/elderdrivers/riru/edxp/util/MetaDataReader.java index 14e3ea83..bbefcb67 100644 --- a/xposed-bridge/src/main/java/com/elderdrivers/riru/edxp/util/MetaDataReader.java +++ b/xposed-bridge/src/main/java/com/elderdrivers/riru/edxp/util/MetaDataReader.java @@ -20,17 +20,18 @@ public class MetaDataReader { } private MetaDataReader(File apk) throws IOException { - JarFile zip = new JarFile(apk); - InputStream is = zip.getInputStream(zip.getEntry("AndroidManifest.xml")); - byte[] bytes = getBytesFromInputStream(is); - AxmlReader reader = new AxmlReader(bytes); - reader.accept(new AxmlVisitor() { - @Override - public NodeVisitor child(String ns, String name) { - NodeVisitor child = super.child(ns, name); - return new ManifestTagVisitor(child); - } - }); + try(JarFile zip = new JarFile(apk)) { + InputStream is = zip.getInputStream(zip.getEntry("AndroidManifest.xml")); + byte[] bytes = getBytesFromInputStream(is); + AxmlReader reader = new AxmlReader(bytes); + reader.accept(new AxmlVisitor() { + @Override + public NodeVisitor child(String ns, String name) { + NodeVisitor child = super.child(ns, name); + return new ManifestTagVisitor(child); + } + }); + } } public static byte[] getBytesFromInputStream(InputStream inputStream) throws IOException {