ReactNative Windows环境搭建,折腾不止

React Native

windows环境搭建开发Android

  • 安装python2.7.X(不支持Python 3版本)
  • 安装node.js(5.x版本或更高版本)
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
  • 安装react-native-cli
npm install -g yarn react-native-cli
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
  • 安装java jdk1.8
设置环境变量:计算机属性>高级>环境变量>系统变量
(1)新建环境变量java_home   jdk安装path
(2)修改环境变量path   %java_home%/bin
(3)修改环境变量classpath   .;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar
(4)javac是否输出信息
  • 安装Android Studio2.0或更高版本。
Android Studio不要乱点选项,多装了并无害处
  • 安装sdk
react native目前支持android6.0 API23.0.1版本的sdk
image

image

  • 设置Android SDK环境变量
1.新建ANDROID_HOME   sdk路径
2.在path 添加%ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools
3.adb是否输出信息
  • 修改 Maven 仓库地址
React Native 在初始化时会从 jcenter.binary.com 这个地方下载一些东西,网上搜索了一下,好像是在下载 Maven 相关的依赖。
针对全局进行修改。在用户主目录的 .gradle 文件夹下新建一个 init.gradle 文件,该文件的内容以下

allprojects {
    repositories {
        def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
        all { ArtifactRepository repo ->
            if (repo instanceof MavenArtifactRepository && repo.url != null) {
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}

image

  • 运行项目
react-native init hello #建立项目名

cd hellohtml

react-native run-androidjava

有关run-android报错以及踩过的坑总结

  • 个人android studio下载sdk每次都有下载问题,我又下载了一个Android SDk Tools(一整套Android SDK的开发和调试工具)来下载23.0.1的sdk
  • 使用官方推荐的虚拟机Genymotion
比起Android Studio自带的原装模拟器,Genymotion是一个性能更好的选择,但它只对我的用户免费

那么坑来了:

我下载的Genymotion包含virtualBox,然而win7始终没法打开Genymotion的安卓虚拟机

Genymotion报错

virlualBox报错 E_FALL(0x80004005)

不少报错都会显示这个错误代码,具体细节能够再看报错信息,找了网上好多解决办法都没生效,怀疑仍是没找到问题,因而我仔细地看了看虚拟机控制台输出信息和设置,发现了端倪提示大概是CPU没法分配的,也就是硬件虚拟化,相关连接https://www.cnblogs.com/zhao1...
我用的thinkpad,F1进入BOIS界面,找到Security,Virtualization,选择Enable便可
怎么确认本身是不是硬件虚拟化缘由,如图若是你的系统是64位,却看不到64-bit的选项颇有多是这个缘由,在附上我虚拟机的配置选项
virlualboxnode

clipboard.png

clipboard.png

  • Genymotion配置本身下载的SDk

clipboard.png

到此能启动虚拟机,虚拟机没报错却看不到安卓界面就说明你下的sdk有问题python

  • 链接真机

这坑是小米给的,无声无息,充满了恶意react

adb devices #查看设备是否链接

clipboard.png

如何没有请检查是否开启usb调试,可能端口5037被占android

netstat -aon|findstr "5037"

clipboard.png

打开任务管理器>进程 找到对应的PID结束进程,记得把杀毒软件,360等都关了npm

clipboard.png

到这应该成功了,而后发现run-android发现仍是会报错windows

clipboard.png

我adb都能找到设备,WTF。。。
缘由就在USB安装没开启,点开启不就完了,小米提示须要插SIM卡,无语......,最后建议把启用MIUI优化也关了
最后若是仍是找不到设备建议看一下这个文章https://www.cnblogs.com/sansh...react-native

  • 最后奉上个人安装包
连接: https://pan.baidu.com/s/1EO5e... 密码:gyj4
相关文章
相关标签/搜索