Repository navigation
feat: smaller APK — icon/banner and debug page (#181) - #184
Merged
Merged
Conversation
…ebug page served as one line, no AGP dependency and VCS metadata (#181)
PR Summary by QodoReduce release APK size and serve a compact debug page
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt |
compot-dev
added a commit
that referenced
this pull request
Oct 15, 2026
feat: smaller APK — icon/banner and debug page (#181)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The app part of #181. The APK was already near the floor (v2.07: 110,058 bytes); this takes the small wins that need no build-time step.
mipmap/ic_launcher.webp, used as bothandroid:iconandandroid:banner): 400×400 lossy WebP, 3,932 B → 256×256 lossless WebP, 2,930 B (−1,002 B). The logo is black on white, so the image was resized with Lanczos to 256 px, reduced to 32 grey levels and stored lossless: PSNR 50.4 dB against the resized original, more faithful than lossy q90 (49.4 dB, 3,988 B), and no lossy artefacts around the letters. 256 px is the top of the range in the issue, because the same bitmap is the leanback banner.DebugServer.PAGE): it was already written without indentation or comments in the served string, so only the remaining newlines and optional spaces (return '…'→return'…') go: 7,952 B → 7,898 B. Checked: the HTML/CSS part is identical apart from the doctype newline, and the JS parses to the same AST (esprima) before and after. The Javadoc now says the page is served as one line. A Gradle minify step was not worth it for the ~54 B left.dependenciesInfo { includeInApk = false; includeInBundle = false }andvcsInfo.include = falsefor release (the commit is already inBuildConfig.GIT_HASH).Measured on the CI-built APK of this branch: 110,058 → 108,719 bytes (107.5 → 106.2 KiB, −1,339 B, −1.2 %): icon −1,002,
META-INF/version-control-info.textprotoand the v1 signature entries for it −118,classes.dex−24 compressed (−52 uncompressed), the rest in the zip directory. The ~3 KB in the issue assumed an indented debug page, which it was not.Not done (see the issue): stripping
Log.dwould break/log(#96); dropping the v1 signature needs minSdk 24.To check on a device: the icon and the banner in the leanback launcher (TV box) and on a phone launcher, and that the debug page still works.
Version 2.08.
Part of #181