zoukankan      html  css  js  c++  java
  • react-native环境搭建

    目标平台 Android
    开发平台 windows

    开发环境安装建议:由于开发环境存在差异,建议参照react官网 或者react中文网 安装,
    react-native —— 在Windows下搭建React Native Android开发环境也很有参考价值。
    安装过程中遇到错误后,查找关键字,解决错误。

    开始!

    安装:
    Chocolatey

    CMD.exe
    
    @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%chocolateyin"
    

    安装需要一个稳定的能够翻墙的网络环境


    上面错误显示window不能够解压.zip, 实际情况是更换一个稳定翻墙环境就解决了

    win8 安装程序时出现2502 2503错误解决方法

    1. 运行CMD(必须用管理员权限)
    2. 输入命令: msiexec /package “你的安装文件的全路径”

    参考:win8 安装程序时出现2502 2503错误解决方法

    react-native init awesome
    初始化项目,很长时间都显示进行中或者失败
    解决方案:参考在Windows下搭建React Native Android开发环境

    // 直接克隆主分支
    git clone https://github.com/facebook/react-native.git
    cd react-native/react-native-cli && npm install -g
    

    当执行npm install -g报错 'Error: EPERM: operation not permitted'

    Error: EPERM: operation not permitted
    显示权限不足,需要获取管理员权限,再次执行
    获取管理员权限后,仍是报同样的错误。解决方案参考
    How to fix Node.js npm permission problems
    第一步:执行npm cache clean;再次在react-native-cli目录下执行npm install -g;如果不成功,
    第二步:查看%APPDATA% pm-cache或者$env:APPDATA pm-cache不清楚这是什么意思
    第三步:第二部清理缓存后,如果还有残留,手动清除。问题解决。

    第二步执行过程中,之前运行的react-native init awesome已经初始化成功,没有接着往下试

    执行react-native init awesome,初始化项目成功后,会看到

    接着选择运行的平台:
    如果是IOS:

    cd E:
    eactawesome
    react-native run-ios
    或者如上提示
    

    如果是 Android:

    cd E:
    eactawesome
    react-native run-andriod // 执行这一步的时候报错,-bash: XXXX/react-native: No such file or directory
    

    -bash: XXXX/react-native: No such file or directory

    执行react-native run-andriod 报错,显示文件不存在
    方案:重新获取管理员权限,执行 npm install -g react-native-cli 。再次 react-native run-andriod,完美运行。

    Execution failed for task ':app:compileDebugJavaWithJavac'.

    Could not find tools.jar
    参考:
    android - Execution failed for task ':app:compileDebugJavaWithJavac'
    jdk环境变量配置

    错误的原因是没有安装java SDK.官网选择下载对应的SDK。安装即可。
    注意:自定义安装后,自定义路径下面下的是jre,比如,我自定义安装路径为F:ProgramFilesjavajre1.8.0_111,javajre1.8.0_111是默认安装路径的字段,照搬过来。安装成功后,
    JDK被放在了C:Program FilesJavajdk1.8.0_111目录下面。

    安装成功后,需要设置环境变量。[查看原文]
    右击“我的电脑”=》"system"=》“advanced system setting”=》“environment variable”

    1)在系统变量里新建JAVA_HOME变量,变量值为:C:Program FilesJavajdk1.8.0_111(根据自己的安装路径填写)
    2)新建classpath变量,变量值为:.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar
    3)在path变量(已存在不用新建)添加变量值:%JAVA_HOME%in;%JAVA_HOME%jrein(注意变量值之间用“;”隔开)
    4)“开始”-->“运行”-->输入“javac”-->"Enter",如果能正常打印用法说明配置成功!

    补充环境变量:
    JAVA_HOME:jdk的安装路径
    classpath:java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径。
    path:系统在任何路径下都可以识别java,javac命令

    如何创建一个安卓模拟器

    如何启动一个模拟器
    参考:android 命令行模式启动模拟器
    创建模拟器后,键入android list avd查看可用的虚拟设备

    emulator avd 启动模拟器

    Execution failed for task ':app:installDebug'.com.android.builder.testing.api.DeviceException:com.android.ddmlib.ShellComma ndUnresponsiveException
    参考:React Native疑难点,问题深坑最强总结帖(不断更新中)文中13和16两点
    官网:troubleshooting。官网页面就有记录这个错误以及解决方案。·__·

    根据官网的提示:该错误的原因是版本级别不对,需要将1.3.1版本降级为 1.2.3

    1. 需要将 android/build.gradle 里的 gradle:1.3.1 改为 gradle:1.2.3
    2. 需要将 android/gradle/wrapper/gradle-wrapper.properties里的 distributionUrl 版本改为gradle-2.2-all.zip

    再次报错:Execution failed for task ':app:installDebug'.

    com.android.builder.testing.api.DeviceException: java.lang.RuntimeException: No connected devices!
    在 react packager中报错,报错的原因是设备没有成功连接

    尝试解决方案:

    1. 启动avd manager,添加虚拟设备。

    最终解决方案
    启动genymotion setting => ADB 选择 "use custom android SDK tools", 复制黏贴sdk安装路径即可。
    参考:Android Studio如何集成Genymotion,android studio中成功安装好genymotion插件后,重启android studio。
    点击红色按钮,启动虚拟设备
    命令行: avd devices 查看当前运行的全部模拟器,正确安装的话,就能看启动的设备

    切换到awesome目录,react-native run-android 。成功!note2是通过use链接的真机

    附录:
    adb操作命令详解及大全
    adb是什么?
    adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

    adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
    常见:
    android list avd 系统中所有模拟器
    adb devices 查看当前运行的所有模拟器
    adb shell 进入设备的或模拟器的shell 模式
    ctrl + d 退出adb shell模式

    jdk与jre的区别
    JDK就是Java Development Kit.面向开发人员,它提供了Java的开发环境和运行环境。
    SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
    JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。
    JVM,java virtual machineJVM或java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行

    史上最全Windows版本搭建安装React Native环境配置
    React Native Android 踩坑之旅

    待解决问题

    1. android studio 中avd manager为什么不能点击
  • 相关阅读:
    lr文件下载脚本(文件参数化重命名)
    测试部工作不受重视怎么办?
    质量管理浅谈
    测试人员职业规划
    十年软件测试经验总结
    如何管理测试项目?
    ES性能测试
    将.dat文件导入数据库
    NLPIR_Init文本分词-总是初始化失败,false,Init ICTCLAS failed!
    JavaScript-也来谈--闭包
  • 原文地址:https://www.cnblogs.com/wbengineer/p/6086777.html
Copyright © 2011-2022 走看看