前言
因為剛接觸 RN 的安卓開發(fā), 發(fā)現(xiàn)自己添加的控件效果, 一打包就全不見了, 但是調(diào)試的時候明明都在~ 真的好氣啊!
解決方案
在這里給大家一個快速解決的方案:
打開terminal, 輸入:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
命令解析
好奇的小伙伴一定問: 這是啥?
react-native bundle
--platform android //平臺類型
--dev false //是否是開發(fā)
--entry-file index.js //輸入(注意:如果你是比較早的rn版本, 輸入可能是index.android.js)
--bundle-output android/bundle/index.android.bundle //輸出
--assets-dest android/assets //資源文件
所以命令執(zhí)行成功后, 若報錯: not find directory, 說明沒有該目錄, 必須手動創(chuàng)建一個assets目錄, 參考如下:
bundle位置
原理解析?
index.android.bundle是什么? 如果你點開會發(fā)現(xiàn): 其實就是js腳本. 它是用來調(diào)用原生控件的. 而我們調(diào)試時, 是不斷從server加載到移動端的. 打包時, 通過bundle的形式加載js代碼.
所以當你每次改變了index.js代碼, 打包前, 必須在terminal上輸入命令, 更新bundle!