准备工作 要安装很多东西
Python、Node.js、java jdk(下载1.8的)、git、Android Studio、npm安装、雷电模拟器
Python下载后直接点击安装
下载地址:https://www.python.org/downloads/
Node.js下载后也直接安装,安装成功后可打开cmd用node-v来测试是否安装成功
下载地址https://nodejs.org/en/(下载LTS版本)
java jdk下载后记住位置配置环境变量,可参考这里
java jdk下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装npm,在安装Node.js时候其实就已经安装了npm。但是npm的版本比较低,可参考这个文章安装npm
百度下载雷电模拟器,安装打开
android studio 下载地址http://developer.android.com/
下载后最后安装Android studio ,并配置Android sdk的环境变量。设置环境变量ANDROID_HOME:Android SDK Manager的位置 例如:(ANDROID_HOME=> E:\Android\sdk)设置环境变量PATH:例如:(PATH=> %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools)
安装成功后sdk,打开Android sdk manager,或者新建一个文件点击图片红色标记处的下载图标,然后点击Android sdk页面
看看Android SDKolatform-tools的版本号是不是23的,要23的才行
把6.0下的这些打钩,点击apply完成下载和安装,要把右下角的勾上才能看到
到tools下,把图中打钩的下载并apply
下载安装好后,点击运行按钮,看看雷电模拟器是否已经识别到了,识别了就没问题了。
打开命令窗口,搜索cmd,
在弹出的命令框当中输入以下指令,回车
npm config set registry https://registry.npm.taobao.org --global
输入完成后,回车,输入下一条指令
npm config set disturl https://npm.taobao.org/dist --global
目的是在于将npm下载的地址转为国内的地址,加快下载速度
然后在命令行当中输入如下指令用于安装react native,回车:
npm install -g react-native-cli,
输入npm install -g
安装好后就可以用react native的命令了
比如创建一个react-native项目,在命令行中输入如下指令,回车:
react-native init MyProject
MyProject就是创建的项目,创建好后可以在目录下找到它。创建过程要等好几分钟。
创建成功后的目录结构如图所示:里面有安卓项目,以后可使用Android studio 打开Android 目录.
如果重新打开虚拟机后,需要使用cd进入当前需操作的文件夹
在命令行中进入项目目录,输入react-native start,等待一段时间,
这时候可以用浏览器访问http://localhost:8081/index.android.bundle?platform=android,出现很长的js文件就表示服务端 可以了。
进入项目目录,输入react-native run-android (记得在输入此命令前,要先打开模拟器) ,这表示运行安卓端。等待一段时间,运行成功
http://localhost:8081/debugger-ui/可进入链接看
但是有很多小伙伴运行的时候报错,运行不成功。
如图所示:
错误一
错误原因:
这个提示Android SDK没有找到,可以通过local.properties配置sdk.dir,也可以设置设置ANDROID_HOME环境bi变量来设置SDK位置;
方案一:
在react-native创建的项目目录下的Android目录下新建一个local.properties文件,
编辑内容:
sdk.dir = D:/ProgramFile/Android/androidsdk
方案二:
在环境变量中添加名ANDROID_HOME的变量,值为SDK路径
"我的电脑"右键“属性”->高级系统设置->环境变量 -> 新建ANDROID_HOME
如果在cmd里面输入Android sdk 可查询到则安装成功,这时候重新输入命令 react-native run-android 运行
错误二
如果你遇到了ERROR Watcher took too long to load的报错,请尝试修改node_modules/react-native/packager/react-packager/src/FileWatcher/index.js,将其中的MAX_WAIT_TIME 从25000改为更大的值(单位是毫秒)
不过一般情况下都是上诉的环境未配置正确,可再次检查一遍。