【电视投屏】针对“局域网投屏开源项目(Android 手机 ↔ Android TV)

下面给你一套针对"局域网投屏开源项目(Android 手机 ↔ Android TV)"的编程工具清单 ,按必须 / 推荐 / 可选 分层,全部以工程效率与可维护性为导向。


一、必须工具(没有这些,项目无法推进)

1. Android Studio

  • 用途:开发 Phone App + TV App

  • 原因

    • 原生支持 Android / Android TV
    • ADB、Profiler、Logcat 一体化
  • 建议版本:稳定版(不要 Canary)


2. ADB(Android Debug Bridge)

  • 用途

    • 安装 TV 端 App
    • 查看系统日志
    • 网络调试
  • 关键用法

    • adb connect TV_IP
    • adb logcat

3. Git

  • 用途:版本控制、开源协作

  • 建议

    • 一个仓库,双模块(phone-app / tv-app)
    • 强制 code review(即便只有你一个人)

二、核心编程库(直接决定功能)

4. Kotlin

  • 用途:主语言(Phone / TV)

  • 原因

    • Android 官方首选
    • 协程非常适合网络 / 投屏场景

5. ExoPlayer

  • 用途:TV 端媒体播放(DLNA)

  • 原因

    • Android TV 标配级能力
    • 支持 HLS / MP4 / DASH
  • 替代:MediaPlayer(不推荐)


6. libwebrtc(WebRTC)

  • 用途:屏幕镜像(实时投屏)

  • 原因

    • 完全开源
    • 局域网 P2P
  • 说明

    • Android 使用官方 WebRTC SDK
    • 信令自己实现(WebSocket)

7. MediaProjection API

  • 用途:手机端屏幕捕获

  • 说明

    • 系统级 API
    • 无需 Root
  • 限制

    • 用户必须手动授权

三、网络与协议工具(关键基础设施)

8. SSDP / UPnP 工具库

  • 用途:局域网设备发现

  • 实现方式

    • 自写 UDP(推荐,简单可控)
    • 或使用 Cling(UPnP 库)

9. WebSocket(信令)

  • 用途

    • WebRTC 建立连接
    • 投屏控制指令
  • 推荐库

    • OkHttp WebSocket
    • Ktor(偏服务化)

10. JSON / Protobuf

  • 用途:设备信息、控制协议

  • 建议

    • MVP 阶段用 JSON
    • 后期可换 Protobuf

四、调试与分析工具(非常重要)

11. Android Profiler

  • 用途

    • CPU / 内存 / 网络
  • 重点观察

    • WebRTC 推流 CPU
    • ExoPlayer buffer

12. Wireshark

  • 用途

    • 分析 SSDP / UDP / WebRTC
  • 价值

    • 查"为什么搜不到电视"
    • 查延迟问题

13. scrcpy(调试工具)

  • 用途

    • 调试 TV 界面
    • 录制问题现场
  • 注意

    • 用于调试,不是最终方案

五、构建与工程管理工具

14. Gradle(KTS)

  • 用途:构建系统

  • 建议

    • 使用 Version Catalog
    • Phone / TV 共用 common module

15. CI(GitHub Actions)

  • 用途

    • 自动构建
    • 代码检查
  • MVP 阶段

    • 只跑 build + lint 即可

六、可选但强烈推荐的效率工具

16. Postman / Hoppscotch

  • 用途

    • 测试信令接口
    • 调试控制协议

17. Markdown + Mermaid

  • 用途

    • 写架构文档
    • 画流程图
  • 对开源项目非常重要


七、工具组合建议(直接给你一套)

最小可用组合(MVP)

复制代码
Android Studio
+ Kotlin
+ ADB
+ ExoPlayer
+ WebRTC
+ SSDP(自写)
+ WebSocket
+ Git

稳定可维护组合

复制代码
MVP 组合
+ Wireshark
+ Android Profiler
+ GitHub Actions
+ 文档(README + 架构图)

八、一句话总结

局域网投屏项目的难点不在工具选择,而在"工具边界是否清晰"

工具要少、稳定、可控,

不要为了"看起来高级"引入不必要的复杂度。


相关推荐
中微子5 小时前
突然爆火的Warp 终端,开源1天破 4w Stars
linux·人工智能·开源
andr_gale5 小时前
04_rc文件语法规则
android·framework·aosp
kobesdu5 小时前
连接大模型与物理机器人-RoboNeuron让机器人真正“听懂人话”
机器人·开源·ros·人形机器人
SmartRadio5 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信 (采用Arduino代码框架)
开发语言·智能手机·esp32·长距离wifi
sitellla6 小时前
MySQL 入门:最流行的开源关系型数据库介绍
数据库·mysql·其他·开源
祖国的好青年6 小时前
VS Code 搭建 React Native 开发环境(Windows 实战指南)
android·windows·react native·react.js
黄林晴6 小时前
警惕!AGP 9.2 别只改版本号,R8 规则与构建链路全线收紧
android·gradle
小米渣的逆袭7 小时前
Android ADB 完全使用指南
android·adb
儿歌八万首7 小时前
Jetpack Compose Canvas 进阶:结合 animateFloatAsState 让自定义图形动起来
android·动画·compose