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 comandoojet 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 comandoojet serve
, immettere ojet help serve
.