0.2.45 - Advanced analytics, logout old versions
This commit is contained in:
@@ -1522,6 +1522,23 @@ listing packages, because the previous rules named `com.mattcohen.embyscreensave
|
||||
and had silently matched nothing since v0.1.53. Lint still has `abortOnError = false`, so
|
||||
R8 warnings do not fail the build — check the task output after changing dependencies.
|
||||
|
||||
**R8 shrinks Kotlin; nothing shrinks a `.so`.** The APK is dominated by whatever native
|
||||
code it carries, and native code is packaged **uncompressed** here (`minSdk` 23 means
|
||||
`extractNativeLibs=false`), once per ABI. `io.github.abdallahmehiz:mpv-android-lib` was
|
||||
added in v0.2.40 as a last-resort software video fallback and took the release APK from
|
||||
3.1MB to **168MB**: a whole FFmpeg, `libc++_shared` and a 6MB subtitle font, times four
|
||||
ABIs, for a path almost nobody ever reaches. It has been removed, along with
|
||||
`MpvFallbackActivity`, `shouldUseLibmpvFallback` and the `is.xyz.mpv` keep rule. Two things
|
||||
came out of it and both are cheap to keep:
|
||||
|
||||
- **`defaultConfig.ndk.abiFilters` is `arm64-v8a` + `armeabi-v7a`.** Android TV is ARM; the
|
||||
x86 slices only ever served the emulator, which is not how this app is tested.
|
||||
- **A new native dependency is a size decision, not a dependency decision.** Check what it
|
||||
weighs across both ABIs before adding it — the Jellyfin FFmpeg *audio* decoder that
|
||||
actually delivers DTS is 1.5MB per ABI because it links only the decoders it needs, which
|
||||
is the shape to look for. Anything on mpv's scale belongs behind a separately downloaded
|
||||
split, not in the base APK that every television sideloads on every update.
|
||||
|
||||
**Baseline profile.** `androidx.profileinstaller` plus a profile generated by
|
||||
`benchmark/BaselineProfileGenerator.kt`. Regenerate against a real television with
|
||||
`.\gradlew.bat :app:generateReleaseBaselineProfile`; the result is checked in under
|
||||
|
||||
Reference in New Issue
Block a user