0.2.45 - Advanced analytics, logout old versions
This commit is contained in:
+18
-6
@@ -42,7 +42,7 @@ val projectNoticeText =
|
||||
|
||||
// A release workflow can derive the app version from its Git tag without editing the
|
||||
// source tree. Local builds keep using the checked-in default.
|
||||
val defaultVersionName = "0.2.43"
|
||||
val defaultVersionName = "0.2.45"
|
||||
val membyVersionName: String =
|
||||
(project.findProperty("memby.versionName") as String?)
|
||||
?.trim()
|
||||
@@ -79,6 +79,15 @@ android {
|
||||
versionCode = membyVersionCode
|
||||
versionName = membyVersionName
|
||||
|
||||
// Every native library in this APK is packaged uncompressed (minSdk 23 means
|
||||
// extractNativeLibs=false), so an ABI nobody runs is dead weight carried through
|
||||
// every sideload. Android TV is ARM: the x86 slices existed only for the emulator,
|
||||
// which is not how this app is ever tested. Removing them is not a compatibility
|
||||
// decision to revisit — adding a native dependency is.
|
||||
ndk {
|
||||
abiFilters += listOf("arm64-v8a", "armeabi-v7a")
|
||||
}
|
||||
|
||||
buildConfigField("String", "EMBY_SERVER_URL", "\"${embyServerUrl.replace("\"", "\\\"")}\"")
|
||||
buildConfigField("String", "MEMBY_GATEWAY_URL", "\"${membyGatewayUrl.replace("\"", "\\\"")}\"")
|
||||
buildConfigField("String", "SOURCE_CODE_URL", buildConfigString(membySourceUrl))
|
||||
@@ -237,13 +246,16 @@ dependencies {
|
||||
// surround track that is not bitstreamed is decoded to PCM instead of making the
|
||||
// server re-encode the video beside it. This build targets Media3 1.5.x; Jellyfin's
|
||||
// 1.5.0 extension is the matching published binary for that line.
|
||||
//
|
||||
// This is the ONLY native dependency the app carries, and it is 1.5MB per ABI because
|
||||
// it links just the audio decoders it needs. It replaced a libmpv software-decoding
|
||||
// fallback (io.github.abdallahmehiz:mpv-android-lib) that shipped a whole FFmpeg,
|
||||
// libc++ and a 6MB subtitle font — 155MB of native code across four ABIs, which took
|
||||
// the release APK from 3.1MB to 168MB and made every sideload a several-minute
|
||||
// affair. A last-resort video path is not worth fifty times the app. If one is wanted
|
||||
// again, it belongs behind a separately downloaded split, not in the base APK.
|
||||
implementation("org.jellyfin.media3:media3-ffmpeg-decoder:1.5.0+1")
|
||||
|
||||
// Software-decoding fallback after Media3 exhausts its codec/container recovery.
|
||||
// Kept out of the normal path: Android TV still gets hardware decode, passthrough,
|
||||
// the full Memby OSD and the pre-roll from Media3 whenever the device can play it.
|
||||
implementation("io.github.abdallahmehiz:mpv-android-lib:0.1.12")
|
||||
|
||||
debugImplementation("androidx.compose.ui:ui-tooling")
|
||||
|
||||
// Ahead-of-time compiles the startup + first-scroll path. Regenerate against a real
|
||||
|
||||
Reference in New Issue
Block a user