李岩岩 2cab50db31 feat(build): 配置多平台打包输出
- 添加 .env.web/.desktop/.android/.tv 环境变量文件
- 修改 vite.config.js 支持多平台输出到 dist/{platform}/
- 添加 npm run build:web/desktop/android/tv 命令
- 更新 desktop/android/android-tv/web 各端的资源引用路径
- 更新 build-mac.sh 使用 build:desktop 命令
2026-02-05 14:19:28 +08:00
..

Android WebView 壳

目录结构

android/
├── app/src/main/
│   ├── java/com/iptv/app/
│   │   └── MainActivity.java    # WebView 主活动
│   ├── res/
│   │   ├── layout/activity_main.xml
│   │   ├── values/
│   │   │   ├── strings.xml
│   │   │   ├── styles.xml
│   │   │   └── colors.xml
│   │   └── mipmap-*/           # 图标资源
│   ├── assets/
│   │   └── www/                # 打包的 Web 资源 (从 ui/dist-web 复制)
│   └── AndroidManifest.xml
├── build.gradle                # 项目级构建配置
├── settings.gradle
└── gradle.properties

构建步骤

1. 构建 Web UI

cd ../ui
npm install
npm run build:web

2. 复制资源到 Android

# 将构建好的 web 资源复制到 Android assets
cp -r ../ui/dist-web/* app/src/main/assets/www/

3. 构建 APK

./gradlew assembleDebug

APK 输出位置: app/build/outputs/apk/debug/app-debug.apk

开发模式

如需连接开发服务器测试,修改 MainActivity.java:

private static final String LOAD_MODE = "remote";
private static final String REMOTE_URL = "http://你的IP:5173";

功能特性

  • WebView 加载 Web UI
  • 全屏无标题栏
  • 下拉刷新
  • 返回键支持页面后退
  • 视频全屏自动横屏
  • 暗色主题

权限

  • INTERNET - 网络访问
  • ACCESS_NETWORK_STATE - 网络状态检测