compress framework zip entries

This commit is contained in:
REAndroid 2023-03-13 09:32:37 -04:00
parent 4ba43a6b5e
commit c244c37dc8

View File

@ -30,6 +30,7 @@ import com.reandroid.arsc.value.*;
import java.io.IOException;
import java.util.*;
import java.util.zip.ZipEntry;
public class FrameworkOptimizer {
private final ApkModule frameworkApk;
@ -57,6 +58,9 @@ public class FrameworkOptimizer {
manifestBlock = frameworkApk.getAndroidManifestBlock();
}
optimizeTable(frameworkTable, manifestBlock);
UncompressedFiles uncompressedFiles = frameworkApk.getUncompressedFiles();
uncompressedFiles.clearExtensions();
uncompressedFiles.clearPaths();
clearFiles(frameworkApk.getApkArchive());
logMessage("Optimized");
}
@ -69,6 +73,12 @@ public class FrameworkOptimizer {
InputSource tableSource = archive.getInputSource(TableBlock.FILE_NAME);
InputSource manifestSource = archive.getInputSource(AndroidManifestBlock.FILE_NAME);
archive.clear();
if(tableSource!=null){
tableSource.setMethod(ZipEntry.DEFLATED);
}
if(manifestSource!=null){
manifestSource.setMethod(ZipEntry.DEFLATED);
}
archive.add(tableSource);
archive.add(manifestSource);
count = count - archive.entriesCount();