■ ■ ■ ■ ■ ■
jadx-core/src/main/java/jadx/core/utils/files/InputFile.java
| skipped 73 lines |
74 | 74 | | } |
75 | 75 | | } |
76 | 76 | | |
77 | | - | public static byte[] loadXMLBuffer(File file) throws IOException { // FIXME: Public.. Please fix |
78 | | - | ZipFile zf = new ZipFile(file); |
79 | | - | ZipEntry xml = zf.getEntry("AndroidManifest.xml"); |
80 | | - | if (xml == null) { |
81 | | - | zf.close(); |
82 | | - | return null; |
83 | | - | } |
84 | | - | ByteArrayOutputStream bytesOut = new ByteArrayOutputStream(); |
85 | | - | InputStream in = null; |
86 | | - | try { |
87 | | - | in = zf.getInputStream(xml); |
88 | | - | byte[] buffer = new byte[(int) xml.getSize()]; // FIXME: long->int conversion loss |
89 | | - | int count; |
90 | | - | while ((count = in.read(buffer)) != -1) { |
91 | | - | bytesOut.write(buffer, 0, count); |
92 | | - | } |
93 | | - | } finally { |
94 | | - | if (null != in) { |
95 | | - | in.close(); |
96 | | - | } |
97 | | - | zf.close(); |
98 | | - | } |
99 | | - | return bytesOut.toByteArray(); |
100 | | - | } |
101 | | - | |
102 | 77 | | private static Dex loadFromZip(File file) throws IOException { |
103 | 78 | | ZipFile zf = new ZipFile(file); |
104 | 79 | | ZipEntry dex = zf.getEntry("classes.dex"); |
| skipped 60 lines |