Expo大作战(二十二)--expo分离后的部署(expokit)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网
我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981
【之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发】
相关文章:
Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用
Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题
Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等
Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
Expo大作战(五)--expo中app.json 文件的配置信息
Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
Expo大作战(七)--expo如何使用Genymotion模拟器
Expo大作战(八)--expo中的publish以及expo中的link,对link这块东西没有详细看,大家可以来和我交流
接下来就开始撸码
用ExpoKit开发
ExpoKit是一个Objective-C和Java库,允许您使用本地iOS / Android项目的expo平台。
在阅读本指南之前
有两种方法可以获得ExpoKit项目:
- 在XDE中创建一个纯JS项目,然后使用exp detach添加ExpoKit。
- 使用create-react-native-app创建应用程序,然后选择“eject with ExpoKi”。
在继续阅读本指南之前,请确保遵循上述路径之一。本指南的其余部分将假设您已经创建了一个ExpoKit项目。
设置您的项目(setting up your project)
到此为止,您应该有一个JS应用程序,其中还包含ios和android目录。
1.检查JS依赖关系
你的项目的package.json应该包含一个指向Expo fork Native分支的react-native依赖项。这应该已经配置好了。
您的JS依赖关系应该已经安装(通过npm install或yarn)。
2.在XDE或exp中运行项目
在XDE中打开项目。如果您已经在XDE中运行此项目,请按重新启动。
如果你喜欢exp,从项目目录运行exp start。
这一步确保React Native打包程序正在运行并为您的应用程序的JS包提供开发服务。保持这种运行状态并继续执行以下步骤。
3. iOS:配置,构建和运行(iOS: Configure, build and run)
这一步确保本地iOS项目被正确配置并准备开发。
- 确保你有最新的Xcode。
- 如果您还没有安装,请安装CocoaPods,它是iOS的本地依赖管理器。
- 从项目的ios目录运行pod install。
- 在Xcode中打开项目的xcworkspace文件。
- 使用Xcode在您的测试设备或模拟器上构建,安装和运行项目。 (如果您点击Xcode中的大“播放”按钮,默认情况下会发生这种情况。)
一旦它运行,iOS应用程序就会自动从您从XDE或exp提供的项目中请求您的JS包。
4. Android:构建并运行
在Android Studio中打开android目录,然后在Android设备或Genymotion仿真器上构建并运行该项目。
打开项目时,Android Studio可能会提示您升级Gradle或其他构建工具的版本,但不要这样做,因为您可能会收到意想不到的结果。 ExpoKit总是附带所有构建工具的最新支持版本。
一旦Android项目正在运行,它应该自动从XDE或exp请求您的开发网址。你可以从这里正常开发你的项目。
继续部署
每次开发时,都要确保项目的JS由XDE提供服务(步骤2),然后分别从Xcode或Android Studio运行本机代码。
您的ExpoKit项目被配置为在您构建发布的网址时加载您的应用的发布网址(Your ExpoKit project is configured to load your app’s published url when you build it for r)。所以当你想发布它时,不要忘记发布,就像任何正常的(非ExpoKit)项目一样。
改变本地依赖(Changing Native Dependencies)
iOS版
您的ExpoKit项目使用CocoaPods管理其依赖关系。
React Native生态系统中的许多库都包含运行react-native link 的说明。这些支持iOS的ExpoKit。
如果库支持CocoaPods(具有.podspec文件),只需按照正常的说明并运行react-native link 即可。
如果库不支持CocoaPods,react-native链接可能无法包含库的头文件。如果您遇到构建问题(查找<React / *>标题),则可能需要手动将Pods / Headers / Public添加到您在Xcode中的本机依赖项的Header Search Paths配置。如果您不熟悉Xcode,那么搜索Xcode可以帮助您“配置构建设置”以了解这些工作方式。标题搜索路径就是这样一个构建设置。您关心配置的目标是由您的Xcode项目内的react-native链接创建的目标。您需要确定从库到Pods / Headers / Public的相对路径。
Android版
React Native生态系统中的许多库都包含运行react-native link 的说明。这些支持与Android的ExpoKit。
升级ExpoKit
ExpoKit的发布周期遵循Expo SDK发布周期。当新版本的Expo SDK发布时,发行说明中包含了针对项目正常的仅JS部分的升级说明。此外,您需要更新本机ExpoKit代码。
注意:在继续下面的指示之前,请确保你已经更新了你的JS依赖关系。此外,这里可能会涉及版本特定的重大更改。
iOS版
- 在您的项目中打开ios / Podfile,并更新ExpoKit标记以指向与您的SDK版本相对应的版本。重新运行pod安装。
- 在项目中打开ios / your-project / Supporting / EXSDKVersions.plist,并将所有值更改为新的SDK版本。
Android版
- 转到https://expo.io/-/api/v2/versions并在sdkVersions下找到androidExpoViewUrl键[NEW SDK VERSION]。
- 下载.tar.gz文件并将其解压。
- 转到您项目的.expo-source / android目录,并用您下载的文件替换为android目录。
- 转到MainActivity.java并用Arrays.asList(“[NEW SDK VERSION]”)替换Arrays.asList(“[旧SDK版本]”)。
- 转到build.gradle并替换compile('host.exp.exponent:expoview:[OLD SDK VERSION] @aar'){with compile('host.exp.exponent:expoview:[NEW SDK VERSION] @aar'){ 。
下一张继续介绍,这一篇主要介绍了:到最后我已经不知道他在说什么了,配置这些东西,最好就是亲自试一试,欢迎大家关注我的微信公众号,这篇文章是否被大家认可,我的衡量标准就是公
众号粉丝增长人数。欢迎大家转载,但必须保留本人博客链接!
Expo大作战(二十二)--expo分离后的部署(expokit)的更多相关文章
- Expo大作战(三十二)--expo sdk api之Noifications
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(三十九)--expo sdk api之 DocumentPicker,Contacts(获取手机联系人信息),Branch
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(三十八)--expo sdk api之 FileSystem(文件操作系统)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(三十六)--expo sdk api之 ImagePicker,ImageManipulator,Camera
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(三十五)--expo sdk api之Location!
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(三十四)--expo sdk api之LinearGradient(线性渐变),KeepAwake(保持屏幕不休眠),IntentLauncherAndroid,Gyroscope,
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(四十)--expo sdk api之 Calendar,Constants
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- 剑指offer十六之合并两个排序的链表
一.题目 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 二.思路 注:链表1和链表2是两个递增排序的链表,合并这两个链表得到升序链表为链表3. 首先分析 ...
- 多线程的实现及常用方法_DAY23
1:多线程(理解) (1)如果一个应用程序有多条执行路径,则被称为多线程程序. 进程:正在执行的程序. 线程:程序的执行路径,执行单元. 单线程:如果一个应用程序只有一条执行路径,则被称为单线程程序. ...
- (转)Python3之requests模块
原文:https://www.cnblogs.com/wang-yc/p/5623711.html Python标准库中提供了:urllib等模块以供Http请求,但是,它的 API 太渣了.它是为另 ...
- configure: error: You need a C++ compiler for C++ support.[系统缺少c++环境]
一.错误configure: error: You need a C++ compiler for C++ support.二.安装c++ compiler情况1.当您的服务器能链接网络时候[联网安装 ...
- Redis笔记(3)多数据库实现
1.前言 本章介绍redis的三种多服务实现方式,尽可能简单明了总结一下. 2.复制 复制也可以称为主从模式.假设有两个redis服务,一个在127.0.0.1:6379,一个在127.0.0.1:1 ...
- 修改Hosts文件提示没有权限怎么办
解决办法:给host文件赋予权限 1.打开电脑C盘,在目录C:\Windows\System32\drivers\etc 下找到hosts文件 2.右键hosts文件,选择属性 3.点击hosts属性 ...
- 复刻smartbits的国产网络测试工具minismb-如何测试DPI引擎
复刻smartbits的网络性能测试工具MiniSMB,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此以太网测试工具测试任何ip网络设备的端口吞吐率,带宽,并发 ...
- mac 入门操作
1. 打开制定目录 在finder里使用command+shift+g 快捷键可以完成到达某路径的操作选中文件/目录,显示简介可以查看路径 2. home end pageUp pageDown 在苹 ...
- RocketMQ专题2:三种常用生产消费方式(顺序、广播、定时)以及顺序消费源码探究
顺序.广播.定时任务 前插 在进行常用的三种消息类型例子展示的时候,我们先来说一说RocketMQ的几个重要概念: PullConsumer与PushConsumer:主要区别在于Pull与Pus ...
- 浅析Java源码之HttpServlet
纯粹是闲的,在慕课网看了几集的Servlet入门,刚写了1个小demo,就想看看源码,好在也不难 主要是介绍一下里面的主要方法,真的没什么内容啊~ 源码来源于apache-tomcat-7.0.52, ...

