mac android 模拟器启动,react-native使用脚本启动android模拟器(macos)
我们在开发react-native的时候,需要先启动安卓模拟器,然后执行npm start启动编译。正常启动模拟器的方式就是:
1、打开android studio
2、打开一个项目,随便什么吧
3、点击右上角 AVD Manager
4、选择一个模拟器,并双击
对的,如果你用的是android studio,那没什么问题的,举手之劳的事儿。
但是我们一般用webstorm,因为RN是android和ios共享的,所以用xcode和android studio都不舒服。
福利来了
笔者给你们一个快速打开的脚本。你可以保存到项目的文件里,比如 android.sh
#!/usr/bin/env bash
ANDROID_PATH_EXIST=`cat ~/.bash_profile | grep ANDROID_NDK=`
if [ "$ANDROID_PATH_EXIST" == "" ]; then
echo '
export ANDROID_NDK=$HOME/Library/Android/ndk
' >> ~/.bash_profile
source $HOME/.bash_profile
fi
avds=`ls ~/.android/avd | grep .avd | sed "s#.avd##"`
avds=(${avds})
avd_count=`ls ~/.android/avd | grep .avd | wc -l`
echo ""
echo "安卓模拟器列表:"
echo ""
ls ~/.android/avd | grep .avd | sed "s#.avd##"
echo ""
if [ ${avd_count} == 0 ]; then
echo "没有找到安卓模拟器,请到android studio中添加"
exit 1
elif [ ${avd_count} == 1 ]; then
avd=${avds[0]}
else
# 需要从刚才的列表里任选一个
read -p "你要启动哪个模拟器:" avd
echo ""
fi
process=`ps aux | grep "\-avd ${avd}" | grep -v grep`
process_count=`echo ${process} | wc -l`
if [ "${process}" != "" ] && [ ${process_count} == 1 ]; then
process_id=`echo ${process} | awk '{print $2}'`
echo "正在强制关闭模拟器..."
kill -9 ${process_id}
# 防止再次启动失败
sleep 1
fi
echo "模拟器${avd}正在启动..."
cd ~/Library/Android/sdk/tools/
emulator -avd ${avd} &
echo "模拟器启动完成"
怎么用呢?
sh android.sh && npm start
或者干脆写进npm start的脚本里,更省事的
顺便说一句,ios的启动也是用脚本的
react-native run-ios --port 8081 --simulator 'iPhone 7'
mac android 模拟器启动,react-native使用脚本启动android模拟器(macos)相关推荐
- vscode 连接夜神模拟器 运行 react native项目 (很简单的方法)
前言:我这种方式不需要过多配置,只是需要先启动Android studio ,之后再启动vsCode 准备阶段:下载夜神模拟器 1. 开启夜神服务 进入到夜神安装的bin目录下,执行 nox_adb. ...
- 混合开发架构|Android工程集成React Native、Flutter、ReactJs
混合开发架构|Android工程集成React Native.Flutter.ReactJs 架构设计说明 创建安卓原生工程 创建Flutter 集成嵌入原生工程 创建React Native 解决R ...
- [RN] React Native 键盘管理 在Android TextInput遮盖,上移等问题解决办法
[RN] React Native 键盘管理 在Android TextInput遮盖,上移等问题解决办法 参考文章: (1)[RN] React Native 键盘管理 在Android TextI ...
- 在 iOS 与 Android 上实现 React Native 应用深度链接,通过 URL 打开到指定页面
在 iOS 与 Android 上实现 React Native 应用深度链接,使得应用可以通过 我们生活在一个万物兼可分享的年代,而分享的过程,几乎最终都会分享某一个链接,那么,作为开发者,最常遇到 ...
- webstorm 运行android,Windows React Native环境搭建:webstorm+android studio 及解决热更新
工具准备: SDK Android SDK Build-tools:23.0.1 SDK Platform:Android N .6.0 .5.1.1.5.0.1.4.4.2.4.1.2 Androi ...
- React Native之js调用Android原生使用Callback传递结果给js
如果不清楚js如何调用Android原生,可以先参考我的这篇博客React Native实现js调用安卓原生代码 1 问题 上面的文章只是调用安卓原生显示Toast,但是我们一般会需要调用安卓的代码然 ...
- android 倒计时封装,react native中的聊天气泡及timer封装成的发送验证码倒计时
其实,今天我想把我近期遇到的坑都总结一下: 1.goBack的跨页面跳转,又两种方法,一可以像兔哥那样修改navigation源码,二可以用navigationActions 2.父子组件的传值,一可 ...
- React Native App设置amp;Android版发布
React Native系列 <逻辑性最强的React Native环境搭建与调试> <ReactNative开发工具有这一篇足矣> <解决React Native ...
- android ios 混合编程,React Native与原生(Android、iOS)混编,三端痛点解析
在做RN混编项目的时候或者面试的时候经常会遇到一些问题,总结起来有以下几种: 1.过多的注册RN组件( AppRegistry.registerComponent() ); 2.从原生跳转指定的RN页 ...
- react native极光推送android和ios证书申请
这两天终于把极光推送的整个流程跑通了,在android和ios上均能正常接收消息,并可在本地存储消息,这篇文章 先讲一下如何在极光上申请android和ios证书,下一篇文章讲解具体在react na ...
最新文章
- 2030全球新出行产业报告:2.2万亿美元蛋糕将这样分
- 页面滚动到指定class样式位置
- RxSwift之深入解析场景特征序列的使用和底层实现
- 计算机 游戏 排名2015年,2015十大高性能游戏笔记本电脑排行 最强游戏本推荐
- c语言是如何实现泛型链表
- android获取sd的大小,Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法...
- OLAP-impala-大数据Week13-DAY6-impala
- 顶点计划:秸秆问题讨论
- ENVI去除NDVI/EVI异常值、NAN(not a number,无效值)、无穷大(inf)
- PLC有几种编程语言以及它们的特点是什么
- IDEA translation翻译插件报错-》更新TKK失败请检查网络
- Swagger导出pdf文档
- 百度地图秘钥未授权问题
- 各类开发生产环境缩写
- BZOJ1050 [HAOI2006]旅行comf (并查集)
- 唯有卡拉特拉瓦,才敢让建筑飞起来!
- 【英语语法】句子类型
- THREEJS导入外部OBJ+MTL后内存优化
- 曼尼托巴大学计算机科学专业怎么样,加拿大曼尼托巴大学优势专业有哪些
- Jenkins持续集成结合Docker Swarm集群实现Web应用部署的发布