简要介绍
一是跨平台多端方案仍在快速迭代的完善过程中,二是react native 走社区开发路线,严重依赖第三方库,导致react native环境配置相当繁琐。本文作为个人所遇问题 和 解决记录,以供参考。
更新了一下Big Sur,很多问题。。。
环境配置
操作系统 :macOS Big Sur 11.6
node : v14.16.1 (nvm管理即可)
java : 1.8.0_202 (按官网jdk8即可)
下载方式:
- 用IntelliJ IDEA,工具自带管理工具,在 Preference -> Apperance & Behavior -> System Setting -> Android SDK的SDJ Platform 和 SDK Tools 上安装环境及工具即可
- Android Studio 同上(同一公司产品)
- AndroidDevTools 下载安装SDK Tools再统一下载
问题集
可应用IntelliJ IDEA 或 命令行npx react-native init AwesomeProject 直接创建项目
-
项目中找不到sdk路径 在android目录下添加local.properties文件,并添加路径
sdk.dir=/Users/xxx/Library/Android/sdk -
Can’t find ‘node’ binary to build React Native bundle 增加软链接:
ln -s $(which node) /usr/local/bin/node -
sdk platforms 无法显示,android studio直接打开android项目,再通过preference-androidSDK下载 or 手动下载
-
maven 无法更新
进入android目录,修改build.gradle的maven路径
具体参考: www.codeleading.com/article/885…
- Could not find com.facebook.flipper
翻墙应用google的maven地址 or
切换淘宝maven源(需要确认所下载库的具体版本在taobao镜像源中,镜像更新落后于原地址) or
手动下载添加
- 某些输入文件使用或覆盖了已过时的
API
参考: www.jianshu.com/p/a80596fda…
在build.gradle中添加:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
-
Failed to launch emulator. Reason: Emulator exited before boot 无法启动/连接虚拟机,则可设置ADB的启动方式为 Android Virtural Device Manager ->
Action: cold boot now -
Error: spawnSync adb ENOENT 参考: stackoverflow.com/questions/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")
}