react-native使用腳本啓動android模擬器(macos)

咱們在開發react-native的時候,須要先啓動安卓模擬器,而後執行npm start啓動編譯。正常啓動模擬器的方式就是:react

一、打開android studio
二、打開一個項目,隨便什麼吧
三、點擊右上角 AVD Manager
四、選擇一個模擬器,並雙擊

對的,若是你用的是android studio,那沒什麼問題的,舉手之勞的事兒。
可是咱們通常用webstorm,由於RN是android和ios共享的,因此用xcode和android studio都不舒服。android

福利來了ios

筆者給大家一個快速打開的腳本。你能夠保存到項目的文件裏,好比 android.shweb

#!/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 "模擬器啓動完成"

怎麼用呢?npm

sh android.sh && npm start

或者乾脆寫進npm start的腳本里,更省事的react-native


順便說一句,ios的啓動也是用腳本的xcode

react-native run-ios --port 8081 --simulator 'iPhone 7'
相關文章
相關標籤/搜索