Risoluzione dei problemi comuni in Oracle JET Hybrid Mobile Applications

Quando distribuisci la tua applicazione mobile ibrida con Oracle JET, i problemi più comuni possono essere dovuti a eccezioni di runtime, configurazione errata e problemi di rete.

Problema 1: Build ojet non riuscita

Quando si lavora dietro un firewall aziendale, è possibile che vengano ricevuti messaggi che indicano che la build non è riuscita dopo aver eseguito un comando ojet build o ojet0- serve.

Se si è dietro un firewall aziendale, verificare di aver configurato correttamente le impostazioni del proxy npm.

Problema 2: Impossibile avviare l'applicazione ibrida mobile nell'emulatore del sistema operativo mobile

Puoi creare con successo la tua applicazione mobile ibrida, ma scopri in seguito che non sei in grado di testarla in un emulatore di sistema operativo mobile.

Ad esempio, i log della console potrebbero indicare che l'applicazione si blocca in uno stato di "attesa" permanente:

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...

Questo problema è comune quando si esegue il comando ojet serve prima di avviare l'emulatore. Anche se ojet tenta di avviare l'emulatore, alcuni comandi potrebbero non essere eseguiti durante l'avvio dell'emulatore. Per ovviare a questo problema:

  • Avviare sempre prima l'emulatore.

  • Non specificare un parametro di destinazione per il comando ojet serve. L'applicazione verrà distribuita all'emulatore aperto/predefinito.

  • Una volta avviato l'emulatore, eseguire il comando ojet serve.

  • Assicurarsi di aver eseguito ojet build prima di un comando ojet serve.

Problema 3: esecuzione in un problema CORS durante il debug

A volte, l'applicazione non può connettersi a alcun middleware mobile, come Oracle Mobile Hub o eseguire l'autenticazione durante l'utilizzo di un debugger live emulatore.

Per evitare che ciò accada, utilizzare il parametro ojet --no-livereload per disabilitare la funzione di ricaricamento attivo durante la distribuzione dell'applicazione:

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

Problema 4: LiveReload non funziona su un dispositivo fisico

Il problema noto è che non è possibile servire un dispositivo con LiveReload abilitato.

Per ovviare a questo problema, sviluppare il contenuto dell'applicazione all'interno di un browser utilizzando il flag --browser:

ojet serve android --browser

Quindi, utilizzare LiveReload nell'emulatore. Si noti che questo processo è più lento su un emulatore che su un dispositivo reale:

ojet serve 

Per eseguire il test utilizzando un dispositivo fisico, sarà necessario disabilitare LiveReload:

ojet serve android --device --no-livereload

Nota

Per visualizzare un elenco di tutte le opzioni disponibili per il comando ojet serve, immettere ojet help serve.