Android studio for Mac配置React-native時的坑
最近自己配了一下React native環境,各種坑。以下兩個給我留下了深刻的印象,其實都是這樣一種心情:解決不了超級蛋疼,解決完了覺得自己一定遇到了一個假問題!不多說,請看大螢幕:
1、ndk-build binary cannot be found, check if you've set $ANDROID_NDK environment variable correctly or if ndk.dir is setup in local.properties
2、SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable
也許Windows環境變數配好後就能很好的使用了。mac(貌似還有Ubuntu)就沒這麼好運了。受這裡啟發:
*解決方法:
1、開啟Mac終端,輸入open .bash_profile,沒有的話可以自己新建一個這個檔案,這個用來配置我們的環境變數;
2、在檔案中新增這兩行:
export ANDROID_NDK_HOME=你的NDK地址eg:/Users/wzl-pc/Library/Android/ndk/android-ndk-r10e
export ANDROID_HOME=你的SDK地址eg:/Users/wzl-pc/Library/Android/sdk
**************幾分鐘後**************
但願你沒有遇到了這樣的問題:Error watching file for changes: EMFILE
*解決方法:查詢資料後發現原來是升級後watchman不可用了,需要重灌watchman。
1.解除安裝原來安裝的watchman: brew uninstall --force watchman
2.刪除原來的安裝檔案: rm -rf /usr/local/var/run/watchman/
3.重新安裝watchman: brew install watchman
安裝好了,重試一下。希望你看到想要的結果。OK,有問題分享出來,大家可以少走彎路
**************幾天後**************
幾天後做RN嵌入的時候遇到下面這個問題
Could not get BatchedBridge, make sure your bundle is packaged correctly
原因好像是需要配置離線Js伺服器來著?
*解決方法:
1、在app/src/main資料夾下建立資料夾:asset
2、在Android Studio中開啟Terminal終端工具,預設的應該在專案的根目錄下(就是敲ls可以看到app資料夾)
3、在這裡輸入一面命令(只有一條哦)
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output app/src/main/assets/index.android.bundle --assets-dest app/src/main/res/
4、然後就是下面樣子
好了,重新執行就好啦!希望你的也跑通了。如果沒有可能我沒寫清楚,希望大神指點哈!