react-native使用脚本启动android模拟器(macos)
我们在开发react-native的时候,需要先启动安卓模拟器,然后执行npm start启动编译。正常启动模拟器的方式就是:
1、打开android studio2、打开一个项目,随便什么吧
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'
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28