didi / didi/booster

v5版本使用JarArchiveOutputStream API的产物体积比JarOutputStream大

Open
#442 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
5.1k
Forks
591
PR merge metrics
No merged PRs in 30d

Description

由于 `toTransform `之后产物是一个jar,但实验发现使用 `JarArchiveOutputStream` API的产物比直接使用`java.util.jar.JarOutputStream`产物体积要大很多。
- JarArchiveOutputStream
![Snipaste_2023-12-01_17-57-14](https://github.com/didi/booster/assets/6847158/7c4f60cf-0195-4081-9037-8e580dbdd82f)
- JarOutputStream
![Snipaste_2023-12-01_17-59-14](https://github.com/didi/booster/assets/6847158/cd36e100-aceb-4ba7-a11f-dcaa751440e8)
测试重现代码很简单,可参考[ModifyClassesTask](https://github.com/android/gradle-recipes/blob/agp-8.1/transformAllClasses/build-logic/plugins/src/main/kotlin/ModifyClassesTask.kt)。实际项目中,相差几百兆左右。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.