最可靠的 React Native TVOS 项目搭建命令列表(Windows环境优化版)
目标: 创建一个纯净、稳定、能成功编译和运行的 Android TV 项目。
核心思想: 不再使用有Bug的 --template 模板初始化,而是采用“先创建标准项目,再手动改装”的策略。
准备阶段:环境
- 安装依赖:确保已安装 Node.js (推荐LTS版本)、JDK (推荐11或17)、和 Android Studio (并已配置好SDK和模拟器)。
- 以管理员身份运行终端:点击开始菜单,搜索
PowerShell或CMD,右键点击,选择“以管理员身份运行”。(此步至关重要,解决所有权限问题)
第1步:创建标准的、能工作的“手机版”底盘
- 目的: 获得一个100%能成功编译的、纯净的 React Native 项目。
- 命令:
# 1. 导航到你的工作区目录 (例如 D:\Android\project)
cd D:\Android\project\
# 2. 使用官方CLI创建一个不带任何模板的标准项目
npx @react-native-community/cli init YourTVAppName
- 检查点: 此命令执行完毕后,
YourTVAppName文件夹会被创建。理论上,此时运行npx react-native run-android,应用可以在手机模拟器上启动。
第2步:进行“TVOS引擎”改装
- 目的: 将项目的核心依赖从
react-native切换到react-native-tvos。 - 命令:
# 1. 进入新创建的项目目录
cd YourTVAppName
# 2. 【手动操作】用代码编辑器打开 package.json 文件
# 将 "dependencies" 中的 "react-native": "..."
# 修改为: "react-native": "npm:react-native-tvos@latest"
# 3. 卸载旧引擎并安装新引擎
rm -rf node_modules package-lock.json
npm install
第3步:手动进行“安卓原生TV化”配置
- 目的: 修改安卓原生文件,让它被识别为一个TV应用。
- 操作:
- 修改
android/build.gradle:- 打开该文件,找到
minSdkVersion,确保它的值至少是 24。
- 打开该文件,找到
- 修改
android/app/src/main/AndroidManifest.xml:- 在
<application>标签上方,添加:<uses-feature android:name="android.hardware.touchscreen" android:required="false" /> - 在
<application>标签内部,添加android:banner属性,例如:android:banner="@mipmap/ic_launcher" - 在
<activity>-><intent-filter>内部,删除:<category android:name="android.intent.category.LAUNCHER" /> - 在相同位置,添加:
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
- 在
- (可选,但强烈建议)简化
MainActivity.kt或MainActivity.java:- 为了避免任何潜在的闪退,将这个文件的内容简化到最纯粹的版本,只保留
getMainComponentName的重写。
- 为了避免任何潜在的闪退,将这个文件的内容简化到最纯粹的版本,只保留
第4步:最后的清理与启动
- 目的: 确保所有修改都生效,干净地启动应用。
- 命令:
# 1. 在项目根目录下,清理安卓构建缓存
cd android && ./gradlew clean && cd ..
# 2. 在一个独立的终端中,启动Metro服务器
npx react-native start --reset-cache
# 3. 在另一个独立的终端中,启动应用
# (请确保你的安卓TV模拟器已经打开)
npx react-native run-android