From c244c37dc81e322a39b7d8e292b587e63c154e4c Mon Sep 17 00:00:00 2001 From: REAndroid Date: Mon, 13 Mar 2023 09:32:37 -0400 Subject: [PATCH] compress framework zip entries --- .../java/com/reandroid/apk/FrameworkOptimizer.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/reandroid/apk/FrameworkOptimizer.java b/src/main/java/com/reandroid/apk/FrameworkOptimizer.java index 27cda05..c1aaed3 100644 --- a/src/main/java/com/reandroid/apk/FrameworkOptimizer.java +++ b/src/main/java/com/reandroid/apk/FrameworkOptimizer.java @@ -30,8 +30,9 @@ import com.reandroid.arsc.value.*; import java.io.IOException; import java.util.*; +import java.util.zip.ZipEntry; -public class FrameworkOptimizer { + public class FrameworkOptimizer { private final ApkModule frameworkApk; private APKLogger apkLogger; private boolean mOptimizing; @@ -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();