public void decode() throws AndrolibException, IOException, DirectoryException { if (hasResources()) { ensureFilePath(); // read the resources.arsc checking for STORED vs DEFLATE compression // this will determine whether we compress on rebuild or not. log.printf("decoding resources.arsc\n"); RawARSCDecoder.decode(mApkFile.getDirectory().getFileInput("resources.arsc"), log); ResPackage[] pkgs = ARSCDecoder.decode(mApkFile.getDirectory().getFileInput("resources.arsc"), this); ARSCDecoder.write(mApkFile.getDirectory().getFileInput("resources.arsc"), this, pkgs); } }