Dépannage des problèmes courants dans les applications mobiles hybrides Oracle JET
Lors du déploiement de votre application mobile hybride avec Oracle JET, les problèmes les plus courants peuvent être dus à des exceptions d'exécution, à des erreurs de configuration et à des problèmes de réseau.
Problème 1 : Echec de la construction d'Ojet
Lorsque vous travaillez derrière un pare-feu d'entreprise, vous pouvez recevoir des messages indiquant que votre build a échoué après l'exécution d'une commande ojet build
ou ojet0- serve
.
Si vous êtes derrière un pare-feu d'entreprise, vérifiez que vous avez correctement configuré les paramètres de proxy npm.
Problème 2 : Impossible de lancer l'application mobile hybride dans l'émulateur de système d'exploitation mobile
Vous pouvez créer votre application mobile hybride, mais découvrez plus tard que vous ne pouvez pas la tester dans un émulateur de système d'exploitation mobile.
Par exemple, les journaux de la console peuvent indiquer que l'application se bloque dans un état "en attente" permanent :
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...
Ce problème est courant lors de l'exécution de la commande ojet serve
avant le démarrage de l'émulateur. Même si ojet
tente de démarrer l'émulateur, certaines commandes risquent de ne pas s'exécuter pendant le démarrage de l'émulateur. Pour éviter ce problème :
-
Démarrez toujours l'émulateur en premier.
-
N'indiquez pas de paramètre de destination pour la commande
ojet serve
. L'application sera déployée vers l'émulateur ouvert/par défaut. -
Une fois l'émulateur démarré, exécutez la commande
ojet serve
. -
Assurez-vous d'avoir exécuté
ojet build
avant une commandeojet serve
.
Problème 3 : Exécution dans un problème CORS lors du débogage
Parfois, votre application ne peut pas se connecter à un middleware mobile, tel qu'Oracle Mobile Hub, ni effectuer l'authentification à l'aide d'un débogueur actif d'émulateur.
Pour éviter cela, utilisez le paramètre ojet
--no-livereload pour désactiver la fonctionnalité de rechargement en direct lors du déploiement de l'application :
ojet serve --platform=android --no-livereload=true
Problème 4 : LiveReload ne fonctionne pas sur un périphérique physique
Le fait de ne pas pouvoir servir un périphérique sur lequel LiveReload est activé est un problème connu.
Pour contourner ce problème, développez le contenu de l'application dans un navigateur à l'aide de l'indicateur --browser
:
ojet serve android --browser
Ensuite, utilisez LiveReload dans l'émulateur. Notez que ce processus est plus lent sur un émulateur que sur un périphérique réel :
ojet serve
Pour effectuer un test à l'aide d'un périphérique physique, vous devez désactiver LiveReload :
ojet serve android --device --no-livereload
Remarques :
Pour afficher la liste de toutes les options disponibles pour la commandeojet serve
, entrez ojet help serve
.