React Native 开发问题记录

950 阅读2分钟

1. android studio 无法下载问题

由于官网的网络限制无法下载

下载Android Studio 针对于Windows | Uptodown.com

2. gradle下载失败

报错信息

Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: C:\Users[admin].gradle\wrapper\dists\gradle-.all\dvufqs6kielxeao781pmk**\gradle-.*-all.zip

解决办法

网站下载对应版本后放到 C:\Users\[admin]\.gradle\wrapper\dists\gradle-*.*all\dvufqs6kielxeao781pmk***\ 目录下并解压

3.npx react-native run-android 报错

报错信息

A problem occurred evaluating project ':app'. path may not be null or empty string. path='null'

解决办法

注释掉安卓打包的部分配置内容

android/app/build.gradle 文件下的 relase相关的代码

image.png

4 项目首次启动下载包缓慢

解决办法

android/build.gradle文件 添加阿里云镜像

buildscript {
    // 定义了 Gradle 构建脚本所需的依赖项应该从哪些存储库中获取。常见的存储库有 `google()` 和 `mavenCentral()`。
    repositories {
      
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url "https://maven.aliyun.com/nexus/content/repositories/jcenter" }
        maven { url "https://maven.aliyun.com/nexus/content/repositories/google" }
        google()
        jcenter()
        mavenCentral()
    }
    // ...
}

allprojects {
    // 定义了所有子项目在解析依赖项时使用的存储库
    repositories {
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url "https://maven.aliyun.com/nexus/content/repositories/jcenter" }
        maven { url "https://maven.aliyun.com/nexus/content/repositories/google" }
        google()
        jcenter()
        mavenCentral()
    }
}
apply plugin: "com.facebook.react.rootproject"

5 配置 babelconfig alias @ 无法识别

代码内容

babel.config.js

  module.exports = {
  presets: ['module:@react-native/babel-preset'],
  plugins: [
    [
      'module-resolver',
      {
        root: ['.'],
        alias: {
          '@': './app',
          '@utils': './app/utils',
        },
      },
    ],
  ],
};

报错信息

** Unable to resolve module @/**

无法启动

解决办法

npx react-native start --reset-cache

** 注意 **

  1. 使用npm run start --reset-cache 无效
  2. 其他新装第三方库无法使用也可以用这个办法

6. 启动项目报错 无法在虚拟机上安装应用

报错信息

error Failed to install the app. Command failed with exit code 1: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
Unable to install D:\projects\GarbageMusic\rhymix\android\app\build\outputs\apk\debug\app-debug.apk com.android.ddmlib.InstallException: Unknown failure: Exception occurred while executing 'install':
java.lang.IllegalStateException: Cannot access system provider: 'settings' before system providers are installed!

解决办法

如果项目没有错误的改动很有可能是因为虚拟器启动速度慢导致的,

  1. 可以保留最后一个cmd弹窗(虚拟机的),关闭其他弹窗再 npx react-native run-android 启动一次
  2. 关闭所有弹窗,在android studio 中启动一个虚拟机,再 npx react-native run-android 启动一次项目

7. 清空启动方法

1. 卸载应用

当有版本更新冲突或者新的工具包安装后启动失败,需要在模拟器中把原来的APP卸载

2. 清空android

cd android
./gradlew clean

或者
删除 android/.gradle 文件夹
删除 android/build 文件夹

3. 清空缓存重新编译

npx react-native  start --reset-cache