zoukankan      html  css  js  c++  java
  • mac上配置react-native环境run-ios/run-android命令遇到的问题

    新报错(rn版本:0.53.3)2018.3.6

    今天在搞react-native环境时,遇到了一些坑,这里记录一下。

    首先最重要的一点是一定要按官网一步一步来,不然可能会出现一些奇奇怪怪的问题!

    官网配置doc

    run-ios问题

    ios主要是版本问题,就如官网上说的一样,0.45及以上的版本,在run-ios时会出现报错,这里就按官网上给的国内链接来解决。

    解决教程

    这里说一下,如果直接run-ios,其实~/.rncache文件夹里也可能会下载到对应的文件,但是还是基本百分之百报错,找不到boost……什么文件。所以从网盘下载下来后,记得一定要把~/.rncache文件夹里的文件全替换成自己下载的。

    之后init的项目就没问题了。

    run-android问题

    环境和SDK问题

    按官网教程配置好环境。

    如果出现这个问题可以在run之后用android studio打开等待初始化完成(打开后如果初始化失败,看log窗口,如果提示要安装什么就点击安装,一般要安装两个。这里安装的东西不是更新gradle!)。(注意一点,studio可能打开会提示更新gradle到3.3,不要更新!)。

    gradle和权限问题

    gradle默认都是下载2.14.1的,在run-android时可能会出现下载失败或者长时间下载不了,这时就手动去下载

    下载完成后将其放入某个文件夹下,再取出文件路径,用其替换项目中 android/gradle/wrapper/gradle-wrapper.properties 的 distributionUrl。

    distributionUrl=file:///{路径}/gradle-2.14.1-all.zip

    mac中调用本地文件时可能会出现权限问题,这时选中你的项目文件夹,右键选择显示简介,拉到最下面,如下图:

    先点击小锁,输入密码解锁,然后点击设置图标按钮,选择应用到包含的项目,确定,点击小锁锁定。接下来可以run啦~

    模拟器问题

    如果出现这个问题就需要先打开你的模拟器,如果您是用的Genymotion,报错的话有可能是adb设置问题,解决如下图,路径选择您自己的sdk目录。

    更新(rn版本:0.53.3)2018.3.6

    报错如下:

    刚遇到这个问题时一脸懵比,没有有效的报错信息可供参考。

    于是,去检查了adb是可以用的,sdk路径也没有问题。

    检查模拟器也是连接上了。

    经过一番百度 and google并没有什么进展,尝试使用如下命令指定模拟器运行:

    终于运行了起来,但是每次都要带参很麻烦。

    想到会不会是打开构建文件没有权限导致的没有任何报错,于是在项目根目录执行以下代码:

    chmod 755 android/gradlew

    对于权限命令不理解的可以点这里

    给到权限后执行react-native run-android,成功运行~

    ps:修改权限后 android/gradlew 文件引起了一个问题(虽然文件内容没有变化,但是文件在git上是有变化可以上传的),在另一台window电脑上使用mac修改权限后的gradlew文件引发了如下错误:

    可以进入项目android目录执行命令gradlew clean,再回到项目根目录执行react-native run-android即可,相当于重新初始化了gradlew文件。
    所以在mac上修改权限后的gradlew就不要上传git了。

    如果大家有什么更好的办法,希望评论不吝赐教,十分感谢。

  • 相关阅读:
    unsupported jsonb version number 123
    如何在MPlayer上支持RTSP
    TDengine 时序数据库的 ADO.Net Core 提供程序 Maikebing.EntityFrameworkCore.Taos
    如何使用IoTSharp对接ModBus?
    如何从源码启动和编译IoTSharp
    Asp.Net Core 自动适应Windows服务、Linux服务、手动启动时的内容路径的扩展方法
    MQTTnet 的Asp.Net Core 认证事件的扩展
    Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
    The remote certificate is invalid according to the validation procedure 远程证书验证无效
    settings插拔式源码
  • 原文地址:https://www.cnblogs.com/macq/p/7382995.html
Copyright © 2011-2022 走看看