macOS Big Sur 配置react native问题集

523 阅读1分钟

简要介绍

一是跨平台多端方案仍在快速迭代的完善过程中,二是react native 走社区开发路线,严重依赖第三方库,导致react native环境配置相当繁琐。本文作为个人所遇问题 和 解决记录,以供参考。

更新了一下Big Sur,很多问题。。。

环境配置

操作系统 :macOS Big Sur 11.6
node : v14.16.1 (nvm管理即可)
java : 1.8.0_202 (按官网jdk8即可)

下载方式:

  1. 用IntelliJ IDEA,工具自带管理工具,在 Preference -> Apperance & Behavior -> System Setting -> Android SDK的SDJ Platform 和 SDK Tools 上安装环境及工具即可
  2. Android Studio 同上(同一公司产品)
  3. AndroidDevTools 下载安装SDK Tools再统一下载

基本配置请参考官网, 中文

问题集

可应用IntelliJ IDEA 或 命令行npx react-native init AwesomeProject 直接创建项目

  1. 项目中找不到sdk路径 在android目录下添加local.properties文件,并添加路径 sdk.dir=/Users/xxx/Library/Android/sdk

  2. Can’t find ‘node’ binary to build React Native bundle 增加软链接:ln -s $(which node) /usr/local/bin/node

  3. sdk platforms 无法显示,android studio直接打开android项目,再通过preference-androidSDK下载 or 手动下载

  4. maven 无法更新

进入android目录,修改build.gradle的maven路径

具体参考: www.codeleading.com/article/885…

  1. Could not find com.facebook.flipper

翻墙应用google的maven地址 or
切换淘宝maven源(需要确认所下载库的具体版本在taobao镜像源中,镜像更新落后于原地址) or
手动下载添加

  1. 某些输入文件使用或覆盖了已过时的API

参考: www.jianshu.com/p/a80596fda…

在build.gradle中添加:

    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
  1. Failed to launch emulator. Reason: Emulator exited before boot 无法启动/连接虚拟机,则可设置ADB的启动方式为 Android Virtural Device Manager -> Action: cold boot now

  2. Error: spawnSync adb ENOENT 参考: stackoverflow.com/questions/3…

  3. 运行闪退:couldn't find DSO to load: libhermes.so

Android Studio 打开android项目运行,查看错误:

React-Native :java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so

解决方案:添加Hermes Maven:

maven {
    // Android JSC is installed from npm
    url("$rootDir/../node_modules/jsc-android/dist")
}