Repository navigation
MoonCast 0.3.1
Pre-release历史版本 / Historical release · 2026-10-08 · 历史手机发送端 / legacy phone sender
原 APK 版本 / Original APK version:0.3.1(versionCode 9); original tag:v0.3.1.
仅整理展示名称,原附件、签名和链接未更改。下载当前 MoonCast 0.7。 / Display name standardized only; original assets, signatures and links are unchanged. Download current MoonCast 0.7.
MoonCast 0.3.1 fixes receiver disconnect/reconnect and a Stop button that could leave the phone showing a stale casting state.
Changes
- Keep the Android screen-sharing grant and capture input alive after the last receiver leaves. Restart only the private native transport process, then attach the next encoder without asking for another capture grant.
- In ordinary single-receiver mode, a new connection replaces the previous session while its disconnect timeout is pending. Show preparing-reconnection until the new transport listener is ready.
- Handle Stop on a separate command looper with an independent four-second exit deadline; recover dead UI bindings and restore local media volume after host loss.
- Preserve private pairing identities, optional audio/input paths and the experimental watch-party receiver cap. Native runtime binaries remain pinned and unchanged.
Install / 安装
Install MoonCast-0.3.1-preview.apk over the earlier preview. Android 8.0+ and a Surface-input hardware H.264 encoder are required. Use official Moonlight on the same trusted LAN.
Debug-key-signed release-variant preview, not production-signed. Screen mirroring remains lossy SDR H.264/HEVC; no HDR, AV1 or DRM capture support. Original-file playback is a separate no-transcode HTTP workflow.
手机保留共享授权;接收端断开后仅重建传输进程。单接收端模式支持新连接替换仍在退出的旧会话,已由用户真机确认立即重连一次成功、画面和声音正常。主动停止后再启动才重新申请共享授权。
Validation and limits
Local debug/release build, portable behavior tests, lint (0 errors, 29 warnings), twelve pinned native libraries across three ABIs, APK v2 signature and ZIP alignment pass. The physical Android 15 phone passes generated-content GPU zero-output/re-attach checks and lifecycle checks for stale UI recovery, normal Stop, blocked-main Stop, blocked-cleanup Stop and fresh-process restart. The user confirms picture/audio and first-attempt immediate reconnect with the existing receiver.
These are focused device checks and informal receiver acceptance, not a latency, thermal, lossless-quality or broad compatibility benchmark. The optional phone loopback suite did not complete its system-consent setup and is not counted as a passed integration suite. Root capture, full watch-party/audio, privileged input and physical panel-off behavior have no new complete real-device regression acceptance in this patch. Full native-core source rebuilding remains unverified.
Source and integrity
The corresponding source ZIP includes this app change, AIDL/native-process ownership, debug test sources, pinned native core/dependencies/licenses and session-bridge provenance. Debug client binaries, caches, signing keys and phone pairing identities are excluded. Check SHA256SUMS.