1. 程式人生 > >Android studio for Mac配置React-native時的坑

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、然後就是下面樣子


好了,重新執行就好啦!希望你的也跑通了。如果沒有可能我沒寫清楚,希望大神指點哈!