安卓嵌入react native 環境的步驟,Could not get BatchedBridge, make sure your bundle is packaged correctly問題的解決
阿新 • • 發佈:2019-01-26
條件: 安卓。
今天給原生嵌入react native的環境時突然就出現了這個錯誤。點選reload就直接說連不上伺服器。
先說步驟吧。
1. 在app/build.gradle中加入依賴。compile'com.facebook.react:react-native:+'
2. 在專案的build.gradle中加入尋找依賴的途徑,這裡是為1中的依賴指明路徑,類似是這樣的
allprojects { repositories { jcenter() mavenLocal() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" //當專案和node_modules不在一起的時候可以使用絕對路徑 } } }
3. 在manifest中加入permission和註冊彈框,
<android:uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <android:uses-permission android:name="android.permission.READ_PHONE_STATE" /> <android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
</pre><pre name="code" class="java"> <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
搞定,啟動服務,執行專案,前提是你正確使用了ReactRootView,就能載入檢視了。
4. 今天莫名其妙出了個Could not get BatchedBridge, make sure your bundle is packaged correctly的錯誤,看了網上很多答案,總結一下呢,其一可能是watchman的問題,其二呢是你真的啟動服務了嗎,好吧,反正我是啟動了,還是報錯,網上還有種說法是直接命令列將bundle輸出到asset下,但是感覺上來說,好像不用自己命令列就能成功的,會自動從伺服器上下載的,靈光一現想到了自己好像沒有新增那一系列的permission..果然,加上就好了。