建议使用windows10作为开发环境。特别说明,android模拟器只支持intel的芯片,不支持AMD的芯片。
安装jdk1.8,设置JAVA_HOME环境变量,并将执行java添加到PATH中。
安装node10, node12比较新,根据情况选择。将node添加到path中。
我使用的是node10。
npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist
该操作会在当前用户的目录下产生一个.npmrc文件。如果是Administor用户,则即C:\Users\Administrator.npmrc
registry=https://registry.npm.taobao.org/
disturl=https://npm.taobao.org/dist
也可以直接创建文件。
npm install yarn -g
yarn config set registry https://registry.npm.taobao.org
yarn config set disturl https://npm.taobao.org/dist
该操作会在当前用户的目录下产生.yarnrc文件, 如果是Administor用户,则即c:\Users\Administrator.yarnrc
registry "https://registry.npm.taobao.org"
disturl "https://npm.taobao.org/dist"
安装python的目的是一些react-native模块在编译是需要。安装python2。
安装windows-build-tools需要在administrator权限下。主要是全局安装Microsoft's Windows Build Tools。使用Administrator权限启动PowerShell或者CMD.exe。 如果在Administrator用户下没有设置alibaba源,则首先执行如下命令,加速安装。
npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist
如果已经设置则执行如下:
npm install --global --production windows-build-tools
该命令将执行很长时间,因为要安装vs-c++,用于编译react-native模块。如果python没有在前期步骤中执行,该操作也会安装python
npm install --global react-native-cli
react-native项目本身就是一个android项目,所以要使用android_studio处理和下载android的依赖。 安装步骤可以参考官方稳定。这里只是一些重要的实践
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\emulator
%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin
android-studio的AVD目录默认放置在C:\Users\Administrator.android\avd。为了修改默认目录,需要设置环境变量ANDROID_SDK_HOME。这个名字真让人迷惑,但就是这个名字!
android-studio的SDK目录默认放置在C:\Users\Administrator\AppData\Local\Android\Sdk。为了修改默认目录,需要设置环境变量ANDROID_HOME。这个名字还好。
在(<ANDROID_SDK_HOME>.android\avd\模拟器目录)下有一个文件config.ini,该文件中有一个变量hw.ramSize,可以修改。修改后重新启动模拟器。
hw.ramSize=1536
创建react-native 固定版本的项目
react-native init project_name --version 0.59.3
将android/build.gradle中的jcenter()和google()分别替换为maven { url 'https://maven.aliyun.com/repository/jcenter' }和maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
也可以不用替换,就是慢。
gradle下载很慢,除了修改maven镜像外还可以收到下载grdle。
查找个人使用的android-studio使用的gradle的版本,在项目的gradle-wrapper.peroperties文件中,如下:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
1)使用下载工具下载gradle gradle的官网下载地址是 https://gradle.org/releases, 打开网址后下载complete版本。
2)替换本地gradle 完全关闭AS,包括正在下载gradle的进程也需要关闭。进入到本地的gradle存储目录,我的是C:\Users\Administrator.gradle\wrapper\dists。
把gradle-2.14.1-all.zip文件复制到 gradle-2.14.1-all/8bnwg5hd3w55iofp58khbp6yv 目录下,同时把该目录下的其他文件删除掉。这个8bnwg5hd3w55iofp58khbp6yv是由AS自动生成的,不能更改。
重新打开AS,会自动解压并生成文件。至此gradle更新完成。
windows下程序编译运行比在linux下编译运行慢,但最大的优势是在编译时,windows系统会启动一个窗口显示bundle的运行过程,还会提示js的错误,比如变量名错误等,而linux下则没有这个窗口。