From e3eedcf792d282c9d7b0c8bb63a1ad692fcafbaf Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Sat, 13 Feb 2021 18:21:32 +0800 Subject: [PATCH] [app] Optimize resources --- app/build.gradle | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index f80b6830..58493861 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,6 +17,7 @@ * Copyright (C) 2020 EdXposed Contributors * Copyright (C) 2021 LSPosed Contributors */ +import java.nio.file.Paths apply plugin: 'com.android.application' @@ -80,6 +81,29 @@ android { } } +def optimizeReleaseResources = task('optimizeReleaseResources').doLast { + def aapt2 = Paths.get(project.android.sdkDirectory.path, 'build-tools', project.android.buildToolsVersion, 'aapt2') + def zip = Paths.get(project.buildDir.path, 'intermediates', + 'processed_res', 'release', 'out', "resources-release.ap_") + def optimized = new File("${zip}.opt") + def cmd = exec { + commandLine aapt2, 'optimize', '--collapse-resource-names', + '--shorten-resource-paths', + '-o', optimized, zip + ignoreExitValue false + } + if (cmd.exitValue == 0) { + delete(zip) + optimized.renameTo("$zip") + } +} + +tasks.whenTaskAdded { task -> + if (task.name == 'processReleaseResources') { + task.finalizedBy optimizeReleaseResources + } +} + dependencies { annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' implementation fileTree(dir: 'libs', include: ['*.jar'])