From 8b2ef25732fd51b165fc4b9fd07b02fe1b571d4d Mon Sep 17 00:00:00 2001 From: 22 <60903333+nini22P@users.noreply.github.com> Date: Sun, 10 Aug 2025 18:43:16 +0800 Subject: [PATCH 1/2] fix: prevent decompress `.gz` files --- app/build.gradle | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 87d54ed..997e61e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,6 +38,32 @@ android { kotlinOptions { jvmTarget = '1.8' } + aaptOptions { + noCompress['.keep_gz'] + } + applicationVariants.all { variant -> + variant.mergeAssetsProvider.configure { + doFirst { + renameFiles("${projectDir}/src/main/assets", ".gz", ".keep_gz") + println "---> Rename src files: *.gz to *.keep_gz at: " + projectDir; + } + doLast { + def assetsDir = "${buildDir}/intermediates/assets/${variant.dirName}" + renameFiles(assetsDir, ".keep_gz", ".gz") + println "---> Rename APK files before pack: *.keep_gz to *.gz at: " + assetsDir; + + renameFiles("${projectDir}/src/main/assets", ".keep_gz", ".gz") + println "---> Rename src files: *.keep_gz to *.gz at: " + projectDir; + } + } + } +} + +def renameFiles(String dirPath, String fromExt, String toExt) { + fileTree(dir: dirPath, include: "**/*" + fromExt).each { file -> + def renamedFile = new File(file.parent, file.name.replace(fromExt, toExt)) + file.renameTo(renamedFile) + } } dependencies { From a541cca524142b19920029e93bdee0c1392809a9 Mon Sep 17 00:00:00 2001 From: 22 <60903333+nini22P@users.noreply.github.com> Date: Sun, 10 Aug 2025 19:37:26 +0800 Subject: [PATCH 2/2] use `project.layout.buildDirectory` replace `buildDir`, improve rename files --- app/build.gradle | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 997e61e..6ad79ea 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -48,7 +48,7 @@ android { println "---> Rename src files: *.gz to *.keep_gz at: " + projectDir; } doLast { - def assetsDir = "${buildDir}/intermediates/assets/${variant.dirName}" + def assetsDir = "${project.layout.buildDirectory.get().asFile}/intermediates/assets/${variant.dirName}" renameFiles(assetsDir, ".keep_gz", ".gz") println "---> Rename APK files before pack: *.keep_gz to *.gz at: " + assetsDir; @@ -61,8 +61,10 @@ android { def renameFiles(String dirPath, String fromExt, String toExt) { fileTree(dir: dirPath, include: "**/*" + fromExt).each { file -> - def renamedFile = new File(file.parent, file.name.replace(fromExt, toExt)) - file.renameTo(renamedFile) + if (file.name.endsWith(fromExt) && file.isFile()) { + def newName = file.name.substring(0, file.name.length() - fromExt.length()) + toExt + file.renameTo(new File(file.parent, newName)) + } } }