Repository navigation
MeshLive 0.3.0-beta (unofficial build)
Unofficial, open-source build signed with the project's release key (not published on Google Play).
Application id: io.github.meshlive.app. Source commit: 867c18db8e202ec6e27b9fc6ce9285a05765f72c.
Licence: GPL-3.0-or-later; the full text is in LICENSE and third-party licences are in THIRD_PARTY_NOTICES.md of the source.
What changed
- Audio-only live: Go live offers "Video and audio" or "Audio only". A radio uses a fraction of the Bluetooth capacity, reaches further and keeps playing with the screen off.
- Voice calls on by default, with a ringing tone, answer and decline from the notification, calls over the lock screen, and the camera pausing at your ear.
- New look: redesigned Settings (grouped cards, Privacy and Advanced privacy, red Wipe everything), Contacts with call buttons on each row, a step-by-step welcome, and stream titles shown in the Live list.
- Finds iPhones running MeshLive by default; calls and streams work both ways between Android and iPhone.
- Smoother streams on slow and newly met links, and turning Bluetooth off and on no longer breaks a stream or leaves a viewer stuck.
- Names and stream titles are on by default: an optional name goes only, encrypted, to people you call; a title is public.
Measured on
Seven Android phones (Samsung S24, S22, M31, A55; Xiaomi; ASUS; OPPO A15s; Android 10 to 16) and an iPhone 16 Plus, on project benchmark builds 1639ba19, d1dceb61 and this release. Results vary by phone pair; see docs/DEVICES.md. Untested combinations are not claimed to work.
Known limits
- Contacts can call each other by name only after their first answered call (found from the Nearby list); the next release exchanges the recognition keys during the QR scan.
- Some older phone pairs (for example a 2020 MediaTek phone with a 2019 Qualcomm phone) are slow over Bluetooth LE.
- Relaying calls through other phones is still an experiment (off by default).
- No independent security audit yet.
Which file to download
| File | ABI | versionCode | SHA-256 |
|---|---|---|---|
MeshLive-0.3.0-beta-arm64-v8a.apk |
arm64-v8a | 32 | 8487d693a3a411b33d7640c40aafda7a1c6317aaa1a338048b09de6c4679c0cd |
MeshLive-0.3.0-beta-armeabi-v7a.apk |
armeabi-v7a | 31 | 619196d5b53a9ce4e7732bbb3bb2ef021933c09706b92a3be5ba8a50ccf3f64e |
MeshLive-0.3.0-beta-universal.apk |
universal | 30 | 8d549de03134672f9346405f07150ed78cacb0ecfedafc6c2f366496976fa862 |
- arm64-v8a: Almost every phone sold since about 2016 (64-bit ARM). Pick this one if unsure.
- armeabi-v7a: Older or 32-bit-only ARM phones (some Android Go models). A 64-bit phone can also run it, but it is slower and Android will not move it to the 64-bit build by itself.
- universal: Both libraries in one larger file, for sideloading when you do not know the ABI. Not published to F-Droid.
If adb shell getprop ro.product.cpu.abilist lists arm64-v8a, use the arm64-v8a file.
Verify before installing
- Hash:
sha256sum -c SHA256SUMS --ignore-missing(PowerShell:Get-FileHash <file> -Algorithm SHA256). - Signer:
apksigner verify --print-certs MeshLive-0.3.0-beta-arm64-v8a.apkmust print exactly one signer whose
certificate SHA-256 digestis (colon form):
2E:EF:C0:5A:44:45:22:52:9D:9F:75:D7:EB:CE:FD:08:86:47:07:F2:1A:79:04:1D:B5:1E:BF:F8:36:49:E2:13
A different fingerprint means a different publisher: do not install it.
3. Source: SOURCE-MANIFEST.txt lists the commit, the SHA-256 of every tracked file and the pinned native
sources (libaom commit and tree SHA-256, libopus tarball SHA-256; python tools/fetch_native_sources.py
fetches and verifies them). python tools/make_release.py --manifest-only reproduces it from a checkout.