【电视投屏】针对“局域网投屏开源项目(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 + 架构图)

八、一句话总结

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

工具要少、稳定、可控,

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


相关推荐
alexhilton5 小时前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
冬奇Lab6 小时前
每日一个开源项目(第149篇):RAG-Anything - 把图片、表格、公式当成一等公民的多模态 RAG 框架
人工智能·开源
杉氧10 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
雨白14 小时前
指针与数组的核心机制
android
太阳之子16 小时前
给你的 AI Agent 装一双"能上网冲浪"的眼睛
开源
黄林晴18 小时前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋19 小时前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android
plainGeekDev19 小时前
Gson → kotlinx.serialization
android·java·kotlin
冬奇Lab1 天前
每日一个开源项目(第148篇):obsidian-skills - Obsidian CEO 亲写的 AI Agent 格式规范,让 Agent 不再破坏你的 Vault
人工智能·开源·资讯