Mufify 0.1.0
An offline-only music player for Android. Plays the files a streaming service
will not — FLAC, ALAC, and whatever else is already on the phone — and shows you
what they actually are.
Install
Download mufify-0.1.0.apk below and open it on the phone. Android will ask
you to allow installing from this source; that is expected for an APK that did
not come from a store.
On MIUI / HyperOS, adb install -r also works and updates in place without
losing your library. If it refuses with INSTALL_FAILED_USER_RESTRICTED, push
the file to the device and open it from Files instead.
What is in it
- Playback of local files, lossless first-class, with background playback,
lock-screen and notification controls, and a persistent queue. - Five shuffle algorithms, each explained where you pick it.
- Local playlists with drag-reorder and cover mosaics, plus liked songs.
- On-device listening statistics by week, month and year — top tracks,
artists, albums and playlists, with a Wrapped summary. - The technical truth of a file on a monospaced spec strip: container,
sample rate, bit depth, bitrate, channels, size. - Turkish and English, dark and light, both switchable.
- A statistics switch, if you would rather it did not keep history at all.
Turning it off stops new writes and leaves what is already recorded alone. - An animation speed setting — Normal, Fast, or Instant.
No network, and it is enforced
There is no network layer. Not a disabled one, not one behind a setting.
This release ships without the INTERNET permission — plugins/withOfflineOnly.js
strips it from the release manifest, so a change that introduces a network call
does not fail review, it fails to work. You can check the APK yourself:
aapt2 dump permissions mufify-0.1.0.apk | grep INTERNET # prints nothingOne permission does survive and is worth naming rather than leaving you to find
it: ACCESS_NETWORK_STATE, pulled in by a dependency. It cannot open a
connection — that needs INTERNET, which is absent — but Android renders it as
"view network connections".
Before you rely on this
- Signed with a debug key. Fine for sideloading, not fine for the Play
Store, and it means you cannot upgrade to a differently-signed build later
without uninstalling first. versionCodeis 1.- The APK is universal — every ABI in one file, which is why it is ~128 MB. An
install is a fraction of that. minSdkVersion26 (Android 8.0).
Known issues
- On some MIUI devices the queue sheet's close chevron can flash and disappear.
Three fixes have gone in for it and none could be reproduced on an emulator;
the sheet still closes with the back button and by tapping outside the list.
Full documentation, including the architecture and every decision record, is in
the repository. Screenshots are in docs/screenshots.md.