1、RN跨平台开发——环境搭建

了解React Native

React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。React Native着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台。(Learn once, write anywhere)。Facebook已经在多项产品中使用了React Native,并且将持续地投入建设React Native。

搭建React Native 环境

关于安装React Native的说明可以查看React Native官方文档(http://facebook.github.io/react-native/) 官方网站会提供最新的安装参考。      

首先说明下以后的技术分享均以Mac OS X系统为基础(首先你先准备一台Mac),以为我是一个地道的iOS开发者,也是一名果粉,废话不多说,进入正题你将会用到 Homebrew  一个OS  X系统的通用包管理工具,用来安装 React Native的相关依赖。如果你有一台mac,那么现在就可以同时开发iOS 和Android应用。

1.1 安装Homebrew

打开 Homebrew   根据提示安装。


打开终端,打入命令

安装好Homebrew 之后,运行以下命(比较耗时时):
brew install node
brew install watchman
brew install flow

React Native 包管理器同时使用了node和watchman ,如果在今后的开发过程中遇到问题,建议你更新这些依赖。flow是Facebook公司出品的一个类型检查库,它同样被React Native所采用。                                                                                                                                                   如果安装过程中遇到问题,你可能需要更新brew 和相关依赖包 使用的命令行: brew update     brew upgrade
如果出现错误,你需要修复本地的brew 安装程序,brew  doctor 可以帮助你找到问题所在。

1.2 安装React Native

经过上面漫长的等待你已经安装好了node ,我们接下来 就可以通过npm(Node 包管理器)来安装React Native 的命令工具:
我们通过NPM安装反应母语-CLI的命令行工具。在MAC终端中输入如下命令,其中-g表示全局安装。

npm install -g react-native-cli

这个步骤将会在你的系统全局安装React Native命令行工具。

2.1 开发环境搭建(iOS- 安装Xcode)

为了开发和发布iOS应用,你需要注册一个iOS开发者账号,开发者账号分为两种:个人(99美刀/年)  企业(299美刀/年),用于后期开发完项目部署到iOS应用商店。

(1).你需要在你的mac上面安装Xcode,  它包含了Xocde 集成开发环境。iOS模拟器以及iOS SDK (软件开发工具包)。你可以从应用商店或Xcode 网站(下载地址 ) 下载。

Xcode 网站下载

Xcode 安装成功,接下来配置Android依赖。

2.2开发环境搭建(Android)

Android 依赖的安装步骤比较多,先推荐看下一下官方文档(https://facebook.github.io/react-native/docs/android-setup.html )里面有安装说明,需要注意的是,这些安装都是假设你从来都没有安装过Android 开发环境。

第一步:安装SDK。
第二步:安装模拟器。
第三步:创建模拟器。

首先,你需要安装SDK(Java开发工具包) 和Android SDK。
(1) 安装最新版本的JDK   下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html   如图:2.2(1)

图:2.2(1)

(2) 通过终端命令:brew install android-sdk 安装Android SDK。如 图:2.2(2)

图:2.2(2)

(3) 在shell配置文件中正确导出 ANDROID_HOME 环境变量 (~/.bashrc  、 ~/.zshrc 或其他shell)。

export ANDROID_HOME=/usr/local/opt/android-sdk

Mac 下的安卓配置环境变量
(1). 找到安卓的安装路径,我们在通过终端命令安装的时候,在安装成功之后有一个我们的安装路径,我们可以直接获取到 如图(3).1
(2). 在终端输入命令.进入用户目录    $cd ~
(3). 然后输入命令,该命令的作用是如果不存在.bash_profile文件,则创建该文件    $touch .bash_profile
(4).然后输入命令,该命令的作用是用文本编辑器TextEdit打开.bash_profile文件。如果你是第一次配置环境变量,则该文档应该是空的。
$open -e .bash_profile      将export ANDROID_HOME=/usr/local/opt/android-sdk   添加到文件中。

图(3).1

许多Android 相关的开发任务都使用这个环境变量。需要确保添加环境变量之后执行source 命令使得配置可以立即生效。

接下来可以在终端执行 android 命令,从而打开Android SDK 管理器,选择 红色区域勾选的 如图  (3).2 进行安装。

(3).2

安装会话费一些时间,接下来,我们先安装模拟器 和相关的工具,
启动一个新的 终端页面。输入命令:android 启动Android SDK管理器,我们再次安装 Intel x86 Emulator Accelerator(HAXM installer) 如图(3).3 点击install 1 package。

图(3).3

这些依赖包 使我们供我们创建Android虚拟设备(Android Virtual Device ,AVDs)或者模拟器 ,我们现在还未创建任何模拟器,我们接下来创建它,运行以下命令android avd
启动AVD 管理器 如图(3).4

图(3).4

会弹出一个创建界面 如图(3).5 

图(3).5

点击Create 填写创建模拟器的相关信息 如图(3).6

图(3).6

我们在这里选的 CPU/ABI 是 arm64-v8a的架构。Target 选择的是Android 7.0-API  再次之前安装环境比较慢, 只安装了Android 7.0API、Android 7.1API ,我们先创建7.0的 ,
重要的事情说三遍,确保已经勾选了Use Host GPU ,否则模拟器非常慢,确保已经勾选了Use Host GPU ,否则模拟器非常慢,确保已经勾选了Use Host GPU ,否则模拟器非常慢。
填写完信息信息,接下来启动我们的Android模拟器 ,是不是非常激动,没做过安卓的是不是感觉好神奇,如图(3).7

图(3).7

下面就马上出现神器的模拟器界面如 图(3).8,咱们的RN环境搭建也马上进入尾声了。

图(3).8

如果愿意的话,你可以创建多个AVD,Android设备种类繁多,有不同的屏幕尺寸,分辨率和功能,因此使用不同的模拟器通常能为测试带来帮助。当然我们前期以学习为目的,就先安装一个。

到此为止React Native 环境搭建完毕,有不懂的可以给我留言,希望能够帮到大家,我也是边学边写一些技术博客,分享给大家。
我将会在下一篇:创建第一个RN应用。



作者:百事小武
链接:https://www.jianshu.com/p/95137688897a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286564.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之替换App桌面图标

1、需求 需要动态替换app在桌面的图标 2、解决办法 1)、在AndroidManifest.xml里面进行配置多个启动的alias别名 启动的activity <activityandroid:name=".ui.SplashActivity"android:launchMode="singleTop"android:screenOrientation="port…

【ArcGIS遇上Python】ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换

由于论文的需要,将MODIS NDVI数据进行投影变换和格式转换,具体操作可以参照:《ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换》,但是该文章中的做法只能一次性实现一景影像的转换,没法批量,虽然ArcGIS中提供了Batch的方法但是需要挨个添加数据,确定输出路径等等,…

引入 DTM 以支持 ABP 的多租户多数据库场景

这篇文章分享了使用 DTM 二阶段消息模式解决 issue #10036 的方法。今天我们要使用 EasyAbp 的 Abp.EventBus.Boxes.Dtm 模块。DTM 事件箱的介绍这个模块使用了 DTM 的 二阶段消息 使得 ABP 的事件箱得以支持 多租户多数据库场景。你需要先阅读 DTM 文档&#xff0c;它将帮助你…

【前端就业课 第一阶段】HTML5 零基础到实战(六)表格详解

注意&#xff1a;手机&#xff08;APP&#xff09;打开&#xff0c;内容显示更佳&#xff0c;不会的私聊博主即可 想要拿代码或加入学习计划&#xff08;** 博主会监督你并且教你写文章 **&#xff09;的拉到最下面&#xff08;PC端Web打开&#xff09;加博主即可&#xff0c;目…

PHP中file_put_contents()函数的兼容性问题

PHP中file_put_contents()函数的兼容性问题 file_put_contents()函数就相当于依次使用fopen()&#xff0c;fwrite()和fclose()&#xff0c;真是个令人愉快的函数。我的第一个PHP小脚本中用到了这个函数&#xff0c;本地运行很正常&#xff0c;放到服务器上去之后点击submit按钮…

Android实战:手把手实现“捧腹网”APP(一)-----捧腹网网页分析、数据获取

“捧腹网”页面结构分析捧腹网M站地址: http://m.pengfu.com/捧腹网M站部分截图&#xff1a; 从截图中&#xff08;可以直接去网站看下&#xff09;&#xff0c;我们可以看出&#xff0c;该网站相对简单&#xff0c;一共分为四个模块&#xff1a;最新笑话、捧腹段子、趣图、神…

专题2-通过按键玩中断\第1课-中断处理流程深度剖析-lesson1

中断概念 1、中断生命周期 串口先产生一个事件&#xff0c;该事件传送到中断控制器里面&#xff0c;中断控制器会进行相应过滤&#xff0c;能通过过滤&#xff0c;那么就交给CPU去处理。 2、中断源 2440芯片手册 6410芯片手册 3、中断过滤 4、中断处理 cpu处理方式有两种&#…

Android之okdownload下载提示奔溃Expected URL scheme ‘http‘ or ‘https‘ but was ‘data‘

1 问题 客户现场奔溃在firebase上面提示错误信息如下 Fatal Exception: java.lang.IllegalArgumentException: Expected URL scheme http or https but was dataat okhttp3.t$a.a(HttpUrl.kt:38)at okhttp3.t$b.b(HttpUrl.kt:8)at okhttp3.y$a.b(Request.kt:5)at com.liulish…

mysql语法学习(一)__Instances__表

2019独角兽企业重金招聘Python工程师标准>>> ---建表 CREATE TABLE temp( id INT ); ----查询表 SELECT * FROM temp_t; ---删表 DROP TABLE temp; ---修改表名 ALTER TABLE temp_tt RENAME temp; ALTER TABLE temp RENAME TO temp_t; ALTER TABLE temp RENAME AS t…

【ArcGIS遇上Python】python批量获取栅格数据四至(top,bottom,left,right)坐标代码

上图所示为ArcGIS自带的影像数据,存放路径为C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcGlobeData\wsiearth.tif",在源中可以查看该数据的四至坐标,那么,怎样用python批量获取多个栅格数据的四至坐标呢? 参考阅读:【ArcGIS风暴】ArcGIS求一个矢量图层中多个图斑…

使用 C# 读取 zip 压缩包解压文件的方法及注意事项

从 .NET Framework 4.5 版本开始&#xff0c;微软为 .NET 类库增加了一个名为 ZipFile 的类型。该类型在 System.IO.Compression 命名空间下&#xff0c;提供创建、解压缩和打开 zip 存档的静态方法。若要在 .NET Framework 应用中使用 ZipFile 类&#xff0c;必须添加对程序集…

CenterOS x64安装serv-U

1、下载serv-Usu - root cd / cd /src wget http://www.rhinosoft.com.cn/download/14.0.1.0/SU-MFTS-Linux-64bit.zip # 64bit下载地址wget http://www.rhinosoft.com.cn/download/14.0.1.0/SU-MFTS-Linux-32bit.zip # 32bit下载地址2、解压serv-U安装包unzip SU-MF…

Android实战:手把手实现“捧腹网”APP(二)-----捧腹APP原型设计、实现框架选取

APP原型设计在APP的开发过程中&#xff0c;原型设计是必不可少的。用户界面原型必须在先启阶段的初期或在精化阶段一开始建立。整个系统&#xff08;包括它的“实际”用户界面&#xff09;的分析、设计和实施必须在原型建立后进行。 如何设计“捧腹网”APP呢&#xff1f;我们先…

【前端就业课 第一阶段】HTML5 零基础到实战(七)文字及图片详解

注意&#xff1a;手机&#xff08;APP&#xff09;打开&#xff0c;内容显示更佳&#xff0c;不会的私聊博主即可 想要拿代码或加入学习计划&#xff08;** 博主会监督你并且教你写文章 **&#xff09;的拉到最下面&#xff08;PC端Web打开&#xff09;加博主即可&#xff0c;目…

自定义桌面右键菜单

一 编写自定义右键菜单要执行的程序 只要是在 Windows 平台上的可执行应用程序即可。 二 修改注册表添加自定义右键菜单 添加位置如下&#xff1a; HKEY_CLASSES_ROOT\Directory\Background\shell 如下图&#xff1a;转载于:https://www.cnblogs.com/jRoger/articles/5799664.h…

Android之giide加载失败提示You can‘t start or clear loads in RequestListener or Target callbacks If you‘re t

1 问题 用glide进行加载视频数据的时候,加载错误了再用glide进行加载一次,代码如下 var iv = helper.getView<ImageView>(R.id.download_iv)iv?.let {val transform = RoundedCornersTransform(mContext, UnitUtils.dip2px(mContext, 12.toFloat()).toFloat())transf…

本地工程提交github

1. 首先在github上创建一个新的Repository 2. 在本地windows机器上装上git 3. 建立一个文件夹&#xff0c;以后就用这个文件夹作为与Repository对应的库文件夹 4. 输入一下命令&#xff0c;建立文件夹与Repository的连接关系 touch README.md git init git add README.md git c…

【ArcGIS遇上Python】ArcGIS python计算长时间序列多个栅格数据的平均值

通常&#xff0c;我们需要将多个栅格求平均&#xff0c;例如&#xff0c;将一年中每个月的NDVI值加起来除以12&#xff0c;就会等到月均NDVI&#xff0c;该过程虽然在栅格计算器中可以实现&#xff0c;但是当时间序列较长时就比较费事&#xff0c;此时&#xff0c;python代码是…

统信 Deepin为什么要摆脱Ubuntu和Debian?

文 | 大东出品 | OSC开源社区&#xff08;ID&#xff1a;oschina2013&#xff09;Deepin 出走 Debian 。近日&#xff0c;统信软件宣布旗下 Linux 社区发行版 Deepin 将脱离上游 Debian&#xff0c;从 Linux Kernel 开始构建的新闻在社区引发了热议。其实早在 7 年前&#xff0…

解决笔记本重装问题(VISTA系统改为XP系统)

今天一位同事要我帮她的上网本重装一下系统&#xff0c;经查看发现只是开机后一个出错问题&#xff0c;是安装酷狗软件引起的&#xff0c;用360软件管家彻底删除就行了。这时&#xff0c;老大拿了一台笔记本过来让我帮忙装XP操作系统&#xff0c;嘿~这下我的桌子摆满了电脑&…