本文目录

[[toc]]

安装 React Native

只要出问题了,优先执行 cd android && ./gradlew clean 清理缓存,再重新跑 dev ,解决 90% 问题

Unable to load script. Make sure you are either running Metro (run 'react-native start') or that your bundle 'index.js' is packaged correctly for release.

可能原因:

未能读取到一些依赖信息,比如 JDK 、 Android SDK 、 Android Studio 等。

或者部分依赖版本过高,比如 JDK 需要在 20 左右,具体可以查看可以通过 npx react-native doctor 检查,缺少依赖的部分可以按 f 自动尝试修复,如果是 JDK 版本问题重新安装并更新环境变量即可。

在修复后依旧报错的情况下,优先重启电脑,部分改动可能需要重启后生效,终端没能更新到相关信息。

如果依旧有问题,可以尝试执行以下代码先自行构建 assets ,如果报错可能是目录缺少权限等情况(一般 Windows 下不会出现, Linux 与 Mac 常见)

npx react-native bundle --platform android --dev true --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res --verbose

No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.

可能是 gradle 缓存,这时只需要通过 cd android && ./gradlew clean 清理即可。

如果先安装 Android Studio 并且创建了虚拟机,后续通过 npx react-native doctor 自动修复又安装了 Android Studio ,则需要删除原有虚拟机,打开新安装的低版本 Android Studio ,创建虚拟机。

gradle 下载慢

可以修改 android/gradle.properties ,添加代理设置加速下载

# 设置代理,对应的 IP 、 端口修改为本地代理的 IP 、 端口即可
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=7890
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7890

如果没有可用的加速代理的话,可以修改 gradle 源为国内源,修改 android/build.gradle

buildscript {
  repositories {
    // 移除 Google 的源
    // google()

    // 添加阿里云的源
    maven { url 'https://maven.aliyun.com/repository/jcenter' }
    maven { url 'https://maven.aliyun.com/repository/google' }

    // 这里保持不变即可
    mavenCentral()
  }
}