首先安装Chocolatey
以管理员权限打开Power Shell
执行命令
iex ((New-ObjectSystem.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
如图:如果发生如下错误:
则需要首先执行命令
set-executionpolicy remotesigned
然后再安装Chocolatey
安装Node.js
执行命令
choco install nodejs.install
输出如下:Python可以到python.org下载安装包自行安装,我安装的是Anaconda,推荐!
然后重开一个Power Shell
执行命令
npm install -g react-native-cli
时间会比较长。
安装Android Studio,在官网上下载安装包,推荐完全版,即SDK+Android Studio的安装包。
设置环境变量
此处需要配置自己的android sdk路径,如我的android sdk的路径为D:\Android\AndroidSDK
至此,安装过程完毕,下面是创建工程步骤。
创建工程
打开Power Shell,进入你想要创建工程的目录,执行命令
react-native init AwesomeProject执行成功后,就会创建AwesomeProject目录,进入AwesomeProject下
然后打开Android模拟器,如果之前没创建过则需要使用AVD创建一个。
执行命令
react-native run-android
以上命令执行时间很长,有些需要翻墙。
之后程序会在android模拟器中运行,修改index.android.js,然后在模拟器中双击R键,会刷新程序。
如果出现
Application AwesomeProject has not been registered...
问题,如下图:
是因为项目的名字是AwesomeProject,而index.android.js中将类名字修改为其他名字,如:HelloWorldApp,并且在注册组件的时候使用如下程序:
AppRegistry.registerComponent('HelloWorldApp',() => HelloWorldApp);
也就是说与项目名不同导致的,知道了原因,那么解决方案也就有了,
1. 彻底修改,修改android\app\src\main\java\com\awesomeproject\MainActivity.java
将其中“getMainComponentName”函数的返回值修改为“HelloWorldApp”,然后重新编译一下,运行正确。2.将
AppRegistry.registerComponent('HelloWorldApp',() => HelloWorldApp);
修改为
AppRegistry.registerComponent('AwesomeProject',() => HelloWorldApp);
模拟器重新加载即可。