安卓直播

gaojiang a1c285a215 Initial commit 10 órája
app a1c285a215 Initial commit 10 órája
catvod a1c285a215 Initial commit 10 órája
chaquo a1c285a215 Initial commit 10 órája
docs a1c285a215 Initial commit 10 órája
forcetech a1c285a215 Initial commit 10 órája
gradle a1c285a215 Initial commit 10 órája
hook a1c285a215 Initial commit 10 órája
jianpian a1c285a215 Initial commit 10 órája
other a1c285a215 Initial commit 10 órája
quickjs a1c285a215 Initial commit 10 órája
thunder a1c285a215 Initial commit 10 órája
tvbus a1c285a215 Initial commit 10 órája
zlive a1c285a215 Initial commit 10 órája
.gitignore a1c285a215 Initial commit 10 órája
LICENSE.md a1c285a215 Initial commit 10 órája
README.md a1c285a215 Initial commit 10 órája
build.gradle a1c285a215 Initial commit 10 órája
gradlew a1c285a215 Initial commit 10 órája
gradlew.bat a1c285a215 Initial commit 10 órája
settings.gradle a1c285a215 Initial commit 10 órája

README.md

TV 定制版

基于 FongMi TV 的 Android 影音应用,提供电视端(Leanback)和手机端(Mobile)两套界面,支持点播、直播以及外部配置。

定制内容

  • 取消应用启动时的自动更新检测。
  • 首页根据配置动态显示入口:
    • 未配置点播:显示“直播、设置”。
    • 已配置点播:显示“点播、直播、设置”。
  • 设置页增加“启动时进入直播”选项。
  • 该选项首次安装默认开启,之后会记住用户选择。
  • 启动直播状态采用与“无痕模式”一致的“开/关”文字显示。
  • 预设直播配置;该地址也可以手动填写到点播配置:

    http://iptv.373720560.xyz/qwer1234
    

项目信息

项目 内容
包名 com.fongmi.android.tv
版本 5.4.1
编译 SDK API 37
目标 SDK API 28
标准版最低系统 Android 7.0(API 24)
老电视兼容版 Android 6.0(API 23)
CPU 架构 arm64-v8aarmeabi-v7a
界面版本 leanbackmobile

版本选择

界面

  • leanback:电视、电视盒子,适合遥控器操作。
  • mobile:手机和平板,适合触摸操作。

CPU 架构

  • arm64-v8a:大多数较新的 64 位设备。
  • armeabi-v7a:32 位设备及部分只提供 32 位运行环境的老电视。

CPU 是 64 位不代表系统一定支持 64 位应用。部分老电视应优先尝试 armeabi-v7a

老电视兼容包

Android 6.0 电视可使用:

Release/apk/leanback-armeabi_v7a-android6-debug.apk

该版本具有以下特点:

  • 最低支持 Android 6.0(API 23)。
  • 使用 armeabi-v7a 架构。
  • 同时包含 v1 和 v2 APK 签名。
  • 不包含 Chaquopy Python 引擎,因此 Python 类型的点播源不可用。
  • Java、CSP、QuickJS、普通 HTTP/HLS 点播与直播不受影响。

Android 5.x 及更低版本暂不支持。

配置行为

点播

点播配置 URL 非空时,首页会自动出现“点播”入口。删除点播配置后,该入口自动隐藏。

配置支持 sitesparseslivesdohproxyhostsads 等字段。

直播

支持常见的 JSON、M3U 和 TXT 直播源,包含频道分组、EPG、收藏等功能。

启动进入直播

路径:

设置 -> 启动时进入直播

状态为“开”时,配置加载完成后会自动进入直播;状态为“关”时停留在首页。

本地构建

环境要求

  • macOS、Linux 或 Windows
  • JDK 21
  • Android SDK Platform 37
  • Android Build Tools

在项目根目录创建 local.properties

sdk.dir=/你的/Android/Sdk/路径

项目中的 gradlew 可能没有执行权限,可直接使用 bash gradlew

构建调试包

电视 ARM64:

bash gradlew assembleLeanbackArm64_v8aDebug --no-build-cache

电视 32 位:

bash gradlew assembleLeanbackArmeabi_v7aDebug --no-build-cache

手机 ARM64:

bash gradlew assembleMobileArm64_v8aDebug --no-build-cache

手机 32 位:

bash gradlew assembleMobileArmeabi_v7aDebug --no-build-cache

构建 Android 6 老电视包

bash gradlew assembleLeanbackArmeabi_v7aDebug \
  -Plegacy=true \
  --no-build-cache

输出目录:

app/build/outputs/apk/

构建 Release 包

bash gradlew assembleLeanbackArm64_v8aRelease --no-build-cache
bash gradlew assembleLeanbackArmeabi_v7aRelease --no-build-cache

Release 构建完成后,APK 会复制到:

Release/apk/

如果 local.properties 没有提供正式签名信息,Release 包会使用调试签名。

正式签名配置示例:

storeFile=/绝对路径/release.jks
keyAlias=你的别名
storePassword=你的密码

ADB 安装

查看设备:

adb devices

覆盖安装并保留数据:

adb install -r 你的安装包.apk

如果提示签名不一致,需要先卸载旧版本:

adb uninstall com.fongmi.android.tv
adb install 你的安装包.apk

卸载会清除应用配置和观看记录。

常见问题

安装包无法解析

常见原因:

  1. 电视系统低于 APK 的最低 Android 版本。
  2. APK 架构与电视运行环境不一致。
  3. 老系统不支持仅使用 v2 签名的 APK。
  4. 下载或复制过程中 APK 文件损坏。

Android 6 老电视优先使用老电视兼容包。

提示应用未安装

通常是已安装版本与新 APK 的签名不同。卸载旧版本后重新安装。

配置了点播但首页没有入口

确认地址填写在“点播配置”而不是“直播配置”。配置保存后,首页会自动刷新并显示“点播”。

设置页崩溃

本定制版已经移除存在兼容问题的 MaterialSwitch,改为与“无痕模式”一致的文字状态显示。

目录结构

TV/
├── app/                 主应用
│   └── src/
│       ├── main/        公共业务逻辑
│       ├── leanback/    电视界面
│       ├── mobile/      手机界面
│       └── legacy/      Android 6 兼容代码
├── catvod/              Spider 与网络基础模块
├── chaquo/              Python 引擎
├── quickjs/             JavaScript 引擎
├── docs/                配置及接口文档
└── Release/apk/         Release 和兼容 APK

相关文档

文档 内容
CONFIG.md 点播及直播配置格式
LIVE.md 直播源格式
SPIDER.md Spider 接口
LOCAL.md 本地 HTTP API

说明

本项目仅提供播放器及配置加载能力。请确保使用的内容源具有合法授权,并遵守所在地区的法律法规。