Häufige Probleme in Oracle JET Hybrid Mobile Applications beheben

Beim Deployment Ihrer hybriden mobilen Anwendung mit Oracle JET können die häufigsten Probleme auf Laufzeitausnahmen, falsche Konfiguration und Netzwerkprobleme zurückzuführen sein.

Problem 1: Ojet-Erstellung fehlgeschlagen

Wenn Sie hinter einer Unternehmensfirewall arbeiten, erhalten Sie möglicherweise Meldungen, dass der Build nicht erfolgreich war, nachdem Sie einen ojet build- oder ojet0- serve-Befehl ausgegeben haben.

Wenn Sie sich hinter einer Unternehmensfirewall befinden, stellen Sie sicher, dass Sie die npm-Proxyeinstellungen korrekt konfiguriert haben.

Problem 2: Hybrid-App im Mobile-BS-Emulator kann nicht gestartet werden

Sie können Ihre hybride mobile Anwendung erfolgreich erstellen, aber später feststellen, dass Sie sie nicht in einem mobilen BS-Emulator testen können.

Beispiel: Die Konsolenlogs zeigen, dass die Anwendung in einem permanenten Status "Warten" hängt:

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

Dieses Problem tritt häufig auf, wenn Sie den Befehl ojet serve ausführen, bevor Sie den Emulator starten. Obwohl ojet versucht, den Emulator zu starten, werden einige Befehle möglicherweise nicht ausgeführt, während der Emulator gestartet wird. So vermeiden Sie dieses Problem:

  • Starten Sie den Emulator immer zuerst.

  • Geben Sie keinen Zielparameter für den Befehl ojet serve an. Die Anwendung wird im Open/Default-Emulator bereitgestellt.

  • Nachdem der Emulator gestartet wurde, führen Sie den Befehl ojet serve aus.

  • Stellen Sie sicher, dass Sie ojet build vor einem ojet serve-Befehl ausgeführt haben.

Problem 3: Ausführen in ein CORS-Problem beim Debugging

Manchmal kann Ihre Anwendung keine Verbindung zu einer mobilen Middleware wie Oracle Mobile Hub herstellen oder eine Authentifizierung ausführen, während ein Emulator-Live-Debugger verwendet wird.

Um dies zu verhindern, verwenden Sie den Parameter ojet --no-livereload, um das Liveladefeature beim Deployment der Anwendung zu deaktivieren:

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

Problem 4: LiveReload funktioniert nicht auf einem physischen Gerät

Es ist ein bekanntes Problem, nicht auf ein Gerät mit aktiviertem LiveReload zugreifen zu können.

Um dieses Problem zu umgehen, entwickeln Sie den App-Inhalt in einem Browser mit dem Flag --browser:

ojet serve android --browser

Verwenden Sie dann LiveReload im Emulator. Beachten Sie, dass dieser Prozess auf einem Emulator langsamer ist als auf einem tatsächlichen Gerät:

ojet serve 

Um mit einem physischen Gerät zu testen, müssen Sie LiveReload deaktivieren:

ojet serve android --device --no-livereload

Hinweis:

Um eine Liste aller für den Befehl ojet serve verfügbaren Optionen anzuzeigen, geben Sie ojet help serve ein.