| 905 | } |
| 906 | |
| 907 | fun recompressApk( |
| 908 | abi: String, |
| 909 | buildName: String, |
| 910 | noCompressExtensions: Set<String>, |
| 911 | ) { |
| 912 | project.logger.lifecycle("Recompressing APK with exclusions: $noCompressExtensions") |
| 913 | |
| 914 | val apkDir: File = |
| 915 | layout.buildDirectory |
| 916 | .dir("outputs/apk/$abi/$buildName") |
| 917 | .get() |
| 918 | .asFile |
| 919 | project.logger.lifecycle("Recompressing APK Dir: ${apkDir.path}") |
| 920 | |
| 921 | apkDir.walk().filter { it.extension == "apk" }.forEach { apkFile -> |
| 922 | project.logger.lifecycle("Recompressing APK: ${apkFile.name}") |
| 923 | val tempZipFile = File(apkFile.parentFile, "${apkFile.name}.tmp") |
| 924 | recompressZip(apkFile, tempZipFile, noCompressExtensions) |
| 925 | signApk(tempZipFile) |
| 926 | if (apkFile.delete()) { |
| 927 | tempZipFile.renameTo(apkFile) |
| 928 | } |
| 929 | } |
| 930 | } |
| 931 | |
| 932 | fun recompressZip( |
| 933 | inputZip: File, |
no test coverage detected