使用expo在安卓模拟器中运行React Native程序

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 看完这篇教程你会学到如何在安卓模拟器里运行一个React Native程序。我的电脑及软件环境系统: windows10 64Node:8.5.0然后安装下面的工具,不分先后。

看完这篇教程你会学到如何在安卓模拟器里运行一个React Native程序。

我的电脑及软件环境
系统: windows10 64
Node:8.5.0
然后安装下面的工具,不分先后。

首先说下 create-react-native-app
npm install -g create-react-native-app
并按照教程 尝试启动,执行完执行npm start会出现个二维码,让我们在手机里安装expo,扫一扫就可以打开react native应用。注意要处在同一网络。经常会出现timeout。

Android Studio 3.0 (注意这个不是必须的,我主要是用他来安装android sdk)
这个安装过程会比较慢,而且加上sdk等大约会占2G的空间。按照网站的视频安装就行,安装完就可以启动一个安卓程序了。

img_a51283e5395b570e9864ab472dafede3.png
image.png

注意sdk的安装路径,我们要保证命令行可以直接运行adb。
我是在环境变量里添加了C:\Users\{替换成你的计算机名}\AppData\Local\Android\Sdk\platform-tools

genymotion
这个需要注册帐号,然后按照expo的推荐,安装安卓虚拟设备,可以是Nexus5。

安装 expo XDE
简单说expo是一个工具,可以运行react native,并且在genymotion模拟器里打开,提供live reload等功能,还可以发布你的程序。类似开发微信小程序那个工具。
具体文档
实测发现不太稳定。可能会受到不同的电脑环境和环境变量的影响。
这里要注意一点ADB的配置

img_7d76fed811a6b5ac9ac0e9de3d6f7f82.png
image.png

大致流程:

  1. create-react-native-app 创建一个项目,比如名叫RN_First

    img_5ddb7c7769e183cc72cc32b7dc168420.png
    image.png

  2. 用Expo XDE打开这个项目并运行
    运行后界面如下,


    img_5f2e23e770367c4090e497d8ad788e1b.png
    image.png
  3. 打开Genymotion并运行安卓模拟器

img_c589e3604ec7db130f3947c03b05c844.png
image.png
  1. 然后在expo里选择Device-Open on Android,成功的话可以在安卓模拟器看到启动expo并打开了我们的RN项目

如果修改代码,比如App.js,会立即发生变化。


img_ff4ff70a9e6ccfd435fa44efcbadaf43.png
image.png
img_bc00fe4ee1c6586614c60c63b640af7a.png
image.png

遇到的坑:

ADB server didn't ACK, failed to start daemon

答: 发现adb的环境变量设的不对,之前装过安卓sdk造成有两个adb。expo找的是老的adb。
参考

Error running adb: Error running app. Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=exp://192.168.0.100:19000 flg=0x10000000 }

答: 检查adb配置,最后重装expo解决。

原谅我用了粗话,因为第一次接触,走了不少弯路。

关于模拟器里调试:

ios里按cmd+R,对于安卓,点击菜单按钮


img_4b84482ac98b98811b84885c56735b77.png
image.png

总结:

  1. 最好用mac开发react native,毕竟这个工具的开发者很多都用的MBP,坑会少一些。
  2. 工具尽量从官方下载,不要胡乱从第三方网站下载
  3. 开发前建议多看几遍 expo 文档。清楚你每步的操作是什么。

相关工具官方下载地址:
Android Studio
genymotion

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
4月前
|
Java API 开发工具
如何将python应用编译到android运行
【6月更文挑战第27天】本文介绍在Ubuntu 20上搭建Android开发环境,包括安装JRE/JDK,设置环境变量,添加i386架构,安装依赖和编译工具。并通过`p4a`命令行工具进行apk构建和清理。
66 6
如何将python应用编译到android运行
|
12天前
|
JavaScript 前端开发 应用服务中间件
本地运行打包好的React、Vue项目
本文讨论了如何本地运行打包好的React和Vue项目,并解决了使用React-Router时Tomcat部署刷新页面导致404的问题,提出了将请求转回index.html的解决方案。
14 1
本地运行打包好的React、Vue项目
|
2月前
|
开发工具 Android开发
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
142 4
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
|
2月前
|
前端开发 PHP 开发者
React Server Component 使用问题之怎么使用Docker运行PHP应用
React Server Component 使用问题之怎么使用Docker运行PHP应用
|
2月前
|
Android开发 iOS开发
[ionic]解决运行Android、IOS出现Could not find the web assets directory
[ionic]解决运行Android、IOS出现Could not find the web assets directory
28 1
|
2月前
|
前端开发 UED 开发者
React组件优化全攻略:深度解析让你的前端应用飞速运行的秘诀——从PureComponent到React.memo的彻底性能比较
【8月更文挑战第31天】在构建现代Web应用时,性能是提升用户体验的关键因素。React作为主流前端库,其组件优化尤为重要。本文深入探讨了React组件优化策略,包括使用`PureComponent`、`React.memo`及避免不必要的渲染等方法,帮助开发者显著提升应用性能。通过实践案例对比优化前后效果,不仅提高了页面渲染速度,还增强了用户体验。优化React组件是每个开发者必须关注的重点。
49 0
|
3月前
|
前端开发 JavaScript Android开发
React Native跨平台开发实战
【7月更文挑战第21天】React Native为跨平台移动应用开发提供了一种高效且强大的解决方案。通过本文的学习,你应该能够掌握React Native的基本概念和实战步骤,并开始在你的项目中使用React Native进行开发。随着你对React Native的深入理解,你将能够利用其强大的功能来构建更加复杂和高效的移动应用。
|
3月前
|
Oracle Java 关系型数据库
Android studio 安装以及第一个程序
Android studio 安装以及第一个程序
90 0
|
4月前
|
前端开发 JavaScript 测试技术
|
4月前
|
前端开发 自动驾驶 程序员
鸿蒙? 车载?Flutter? React Native? 为什么我劝你三思,说点不一样的
本文探讨了在信息技术快速发展的背景下,开发者如何选择学习路径。作者提倡使用终局思维来规划职业发展,考虑技术的长远影响。终局思维注重长远目标、系统分析、反向规划和动态调整。以车载开发为例,预测未来智能汽车可能由语音助手主导,而非依赖平板界面。此外,作者建议不要过分投入打工状态,应思考创建自己的产品,如App,以实现技能补充和额外收入。选择对未来发展和自主性有益的技术,如Kotlin,比盲目追求热点更为重要。做减法和有标准的选择,能帮助减轻焦虑,实现更高效的成长。关注公众号“AntDream”获取更多相关内容。
105 1
下一篇
无影云桌面