1. 程式人生 > >Unable to load script from assets 'index.android.bundle'. Make sure your bundle is packaged correctl

Unable to load script from assets 'index.android.bundle'. Make sure your bundle is packaged correctl

第一種:使用bundle命令:(缺點:後續沒辦法reload,只能重複生成bundle檔案)

1.在Android/app/src/main目錄下建立一個空的assets資料夾

2: 在工程根目錄下資料bundle命令:

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/

 

分析:入口檔案(--entry-file)可以從Android->app->build.gradle 檢視:

project.ext.react = [ entryFile: "index.js" ]

index.android.bundle是用來呼叫原生控制元件的js指令碼,每次當改變了 index.js,都需要使用上面的程式碼片段,來及時的更新index.android.bundle,然後打包才可以把新的index.js應用上,所以當沒有index.android.bundle檔案時,React-Native 專案是無法執行的。

第二種.在IDE的terminal以命令啟動(推薦使用這一種):

1.adb devices  (檢視連線裝置;注意,你只應當連線僅僅一個裝置)

2.react-native run-android

可以參考官方文件解決:https://reactnative.cn/docs/0.51/running-on-device-android.html