Oracle JET 混合式行動應用程式中的常見問題疑難排解

使用 Oracle JET 部署混合式行動應用程式時,最常見的問題可能是程式實際執行異常狀況、組態錯誤以及網路問題所致。

問題 1:Ojet 建置失敗

在企業防火牆之後工作時,您可能會收到訊息,指出您的組建在發出 ojet buildojet0- serve 命令後失敗。

如果您位於企業防火牆之後,請確認您已正確設定 npm 代理主機設定值。

第 2 期:無法在行動作業系統模擬器中啟動混合行動應用程式

您可以順利建置混合式行動應用程式,但稍後發現您無法在行動作業系統模擬器中進行測試。

例如,主控台日誌可能會顯示應用程式處於永久「等待」狀態:

Running "serve" task
Running "customServe" task
Invoking cordova serve
Static file server running on: http://localhost:8090 (CTRL + C to shut down)Invoking cordova run
Starting watch
Running "watch" task
Waiting...

此問題在啟動模擬器之前執行 ojet serve 命令時很常見。即使 ojet 嘗試啟動模擬器,某些指令可能無法在啟動模擬器時執行。若要避免發生此問題,請執行下列動作:

  • 一律先啟動模擬器。

  • 請勿指定 ojet serve 命令的目的地參數。應用程式將部署至開啟 / 預設模擬器。

  • 啟動模擬器之後,請執行 ojet serve 命令。

  • 確定您已在 ojet serve 命令之前執行 ojet build

第 3 期:除錯時執行 CORS 問題

有時您的應用程式無法連線至任何行動中介軟體,例如 Oracle Mobile Hub 或在使用模擬器即時除錯程式時執行認證。

若要避免發生此情況,請在建置應用程式時使用 ojet --no-livereload 參數停用即時重新載入功能:

ojet serve --platform=android   --no-livereload=true

第 4 版:LiveReload 無法在實體裝置上運作

無法服務到啟用 LiveReload 的裝置是已知的問題。

若要規避此問題,請使用 --browser 旗標在瀏覽器中開發應用程式內容:

ojet serve android --browser

然後,在模擬器中使用 LiveReload。請注意,模擬器上的此程序比實際裝置慢:

ojet serve 

若要使用實體裝置測試,您必須停用 LiveReload:

ojet serve android --device --no-livereload

附註:

若要查看 ojet serve 指令可用的所有選項清單,請輸入 ojet help serve