Oracle JETハイブリッド・モバイル・アプリケーションの一般的な問題のトラブルシューティング

Oracle JETを使用してハイブリッド・モバイル・アプリケーションをデプロイする場合、最も一般的な問題は、実行時例外、構成ミスおよびネットワーキングの問題が原因である可能性があります。

問題1: 失敗したojetビルド

企業のファイアウォールの内側で作業する場合、 ojet buildまたはojet0- serveコマンドを発行した後にビルドが失敗したことを示すメッセージを受信することがあります。

企業のファイアウォールの内側にある場合は、npmプロキシ設定が正しく構成されていることを確認してください。

問題2: モバイルOSエミュレータでハイブリッド・モバイル・アプリケーションを起動できない

ハイブリッド・モバイル・アプリケーションを正常に構築できますが、後でモバイルOSエミュレータでテストできないことがわかります。

たとえば、コンソールログには、アプリケーションが永続的な「待機中」状態でハングしていることが示されることがあります。

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と入力します。