mirror of
https://github.com/revanced/Apktool.git
synced 2025-05-31 13:50:21 +02:00
Fix: add missing stream closing on manifest disassemble (#3634)
* add missing stream closing * replace custom close with apache
This commit is contained in:
parent
71748d6fd4
commit
1542fd0387
@ -28,6 +28,7 @@ import brut.androlib.res.xml.ResXmlPatcher;
|
|||||||
import brut.directory.Directory;
|
import brut.directory.Directory;
|
||||||
import brut.directory.DirectoryException;
|
import brut.directory.DirectoryException;
|
||||||
import brut.directory.FileDirectory;
|
import brut.directory.FileDirectory;
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.xmlpull.v1.XmlSerializer;
|
import org.xmlpull.v1.XmlSerializer;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
@ -77,6 +78,8 @@ public class ResourcesDecoder {
|
|||||||
XmlPullStreamDecoder fileDecoder = new XmlPullStreamDecoder(axmlParser, getResXmlSerializer());
|
XmlPullStreamDecoder fileDecoder = new XmlPullStreamDecoder(axmlParser, getResXmlSerializer());
|
||||||
|
|
||||||
Directory inApk, out;
|
Directory inApk, out;
|
||||||
|
InputStream inputStream = null;
|
||||||
|
OutputStream outputStream = null;
|
||||||
try {
|
try {
|
||||||
inApk = mApkInfo.getApkFile().getDirectory();
|
inApk = mApkInfo.getApkFile().getDirectory();
|
||||||
out = new FileDirectory(outDir);
|
out = new FileDirectory(outDir);
|
||||||
@ -86,12 +89,15 @@ public class ResourcesDecoder {
|
|||||||
} else {
|
} else {
|
||||||
LOGGER.info("Decoding AndroidManifest.xml with only framework resources...");
|
LOGGER.info("Decoding AndroidManifest.xml with only framework resources...");
|
||||||
}
|
}
|
||||||
InputStream inputStream = inApk.getFileInput("AndroidManifest.xml");
|
inputStream = inApk.getFileInput("AndroidManifest.xml");
|
||||||
OutputStream outputStream = out.getFileOutput("AndroidManifest.xml");
|
outputStream = out.getFileOutput("AndroidManifest.xml");
|
||||||
fileDecoder.decodeManifest(inputStream, outputStream);
|
fileDecoder.decodeManifest(inputStream, outputStream);
|
||||||
|
|
||||||
} catch (DirectoryException ex) {
|
} catch (DirectoryException ex) {
|
||||||
throw new AndrolibException(ex);
|
throw new AndrolibException(ex);
|
||||||
|
} finally {
|
||||||
|
IOUtils.closeQuietly(inputStream);
|
||||||
|
IOUtils.closeQuietly(outputStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mApkInfo.hasResources()) {
|
if (mApkInfo.hasResources()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user