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

八、一句话总结

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

工具要少、稳定、可控,

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


相关推荐
其实防守也摸鱼16 小时前
Fastjson 反序列化漏洞(JNDI注入)
android·数据库·安全·oracle·自动化·fastjson·反序列化
熊猫钓鱼>_>17 小时前
开源鸿蒙平台 KMP 三方库 Essenty 适配全流程:从生命周期抽象到状态重建验证
华为·开源·harmonyos·鸿蒙·kmp·atomgit·essenty
谢平康18 小时前
移动光猫放开 IPv6 入站:5G 手机直连家里 NAS,不用端口映射
5g·智能手机·php
狗凯之家源码网18 小时前
微博图床 PHP 系统搭建与实战应用指南
android·开发语言·php
消失的旧时光-194319 小时前
(第一篇)JNI 多线程到底难在哪:从 Linux Thread 到 JNIEnv
android·jni·ndk
Flynt19 小时前
hindsight实测:给AI助理装上"海马体",我先跟root权限和2G内存缠斗了一下午
开源·agent
miofly19 小时前
GitHub 今日推荐|DiPlay:让 iPhone CarPlay 直连 BYD 车机,无需硬件适配器
开源·github
传奇开心果编程20 小时前
中庸、有容、破执:仓颉编程语言的中华智慧结晶——三重哲学境界思辨
开发语言·华为·开源·软件工程
逗脑IDE21 小时前
零基础学ESP32:蓝牙控制舵机——手机一点,舵机就转!
android·智能手机
网盘数据实测1 天前
手机相册自动备份方案选型:2026 本地、云盘与自建 NAS 对比
智能手机·个人开发