e970c89e8f3a93d51fc3822392f79d0eb1d5eb00
- 优化 `Shared` 中的 `Codec` 枚举,增加显示名称并添加 `isLossyAudio` 函数 - 简化 `Codec`、`VideoSource`、`AudioSource` 和 `CameraFacing` 枚举中的 `fromString` 方法 - 将 `fetchConnectedDeviceInfo` 改为挂起函数以支持协程 - 清理 `PreferenceMigration` 和 `ScrcpyOptions`,提高可读性 - 更新 `Settings` 类,添加 `isDefaultValue` 挂起函数 - 改进 `DeviceWidgets`,增强状态管理和 UI 响应性
Scrcpy For Android
Scrcpy android client
截图
Features
- 可替换 scrcpy-server
- 利用 mDNS 服务实现自动连接启用无线调试的设备、自动发现等待配对设备的IP与端口
- 自动横竖屏切换(算吗
已知问题 / TODO
- 退出全屏时的横竖屏状态可能不对,断开 scrcpy 重连就好
- 如果受控机在锁屏时处理网络连接较慢,会导致应用界面无响应过长时间被系统杀掉(点名你米)
- 虚拟按键的截图实现方式为发送
keycode 120,安卓官方(keycodes.h#349)的定义为System Request / Print Screen key.,不同的厂商有不同的实现,在某些类原生(AxionOS) 上的行为是软重启 - I18N
- More: TODO.md
建议搭配模块
- 密码锁屏无法捕获: LSPosed/DisableFlagSecure
- 开机自动启用 adb: gist/906291
构建
- JDK 17+
- Android SDK(含
compileSdk 36/buildTools 36.0.0) - Android NDK
28.2.13676358
./gradlew assembleDebug
specific abi:
./gradlew assembleRelease -PabiList=arm64-v8a
Credits
- Genymobile/scrcpy
- JNI ADB 实现: rikkaapps/shizuku, vvb2060/ndk.boringssl, lsposed/libcxx
- 界面组件: YuKongA/miuix
- 界面设计参考: tiann/KernelSU/manager
License
Description
Languages
Kotlin
99.2%
C++
0.6%
PowerShell
0.1%