Game Camera 是一款面向 Android 的局域网游戏取景与拍摄应用。
应用基于 Moonlight Android 接收 Windows 电脑画面,通过手机陀螺仪发送相对鼠标输入,并把经过取景、变焦和滤镜处理的画面保存为照片或视频。
- 连接运行 Sunshine 的 Windows 电脑
- 使用手机陀螺仪控制游戏视角
- 支持横屏与竖屏取景
- 支持一倍至三倍数字变焦
- 支持原色、黑白、暖色、冷色、棕褐、复古、褪色和鲜艳滤镜
- 支持三分网格与中心标记
- 照片保存到
Pictures/GameCamera - 视频保存到
Movies/GameCamera - 支持游戏声音、麦克风、混合声音和静音录像
- 支持在应用内浏览历史照片与视频
- 支持选择下一次串流会话的分辨率与帧率
照片和视频使用当前串流会话的实际分辨率与帧率。
设置中的规格变更会在下一次连接时生效。
- Android 12 或更高版本
- 带有陀螺仪的 Android 设备
- 运行 Sunshine 的 Windows 电脑
- 手机与电脑位于可互相访问的局域网
缺少陀螺仪时仍可使用串流和拍摄功能。
- 在 Windows 电脑上安装并启动 Sunshine。
- 完成 Sunshine 的初始配置并准备一个可用的桌面串流条目。
- 在 Android 设备上安装 Release 页面提供的 APK。
- 启动 Game Camera 并选择自动发现的电脑。
- 自动发现失败时,通过右上角入口填写电脑的局域网地址。
- 按照应用显示的 PIN 在 Sunshine 中完成配对。
- 选择桌面串流条目进入取景界面。
详细配置和操作说明见 运行指南。
构建环境如下。
- JDK 17
- Android SDK 35
- Android NDK 27.2.12479018
- Gradle 8.10.2
- Android Gradle Plugin 8.7.3
仓库已经包含构建所需的固定版本原生依赖源码。
克隆仓库后,在根目录创建 local.properties 并配置 Android SDK 路径。
sdk.dir=C\:\\Android\\SdkWindows 调试构建命令如下。
.\gradlew.bat assembleNonRootDebug --no-daemonWindows Release 构建命令如下。
.\gradlew.bat assembleNonRootRelease --no-daemonRelease 任务默认生成未签名 APK。
发布者需要使用自己的证书完成对齐和签名。
运行 JVM 单元测试。
.\gradlew.bat testNonRootDebugUnitTest --no-daemon检查 APK 中的原生库。
.\gradlew.bat verifyNonRootDebugNativeLibraries --no-daemon真机验收范围见 验收记录模板。
Android 使用应用包名、签名证书和递增的 versionCode 判断更新关系。
同一安装序列中的每个新版本需要保持包名和签名一致,并增加 versionCode。
当前应用包名为 com.gamecamera.unofficial。
当前维护阶段的发布包沿用 Android Debug 证书签名,不适合提交到应用商店。
使用其他证书构建的 APK 无法覆盖安装仓库 Release 页面提供的版本。
提交问题时请附上手机型号、Android 版本、Sunshine 版本、复现步骤和相关日志。
代码变更应保持范围清晰,并在提交前完成对应构建和测试。
开发约束与验收方式见 贡献指南。
项目基于 Moonlight Android 与 moonlight-common-c 开发。
项目依照 GNU General Public License v3.0 发布。
许可证全文见 LICENSE.txt。
第三方源码版本、来源与许可证位置见 第三方组件说明。