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 servean. Die Anwendung wird im Open/Default-Emulator bereitgestellt. -
Nachdem der Emulator gestartet wurde, führen Sie den Befehl
ojet serveaus. -
Stellen Sie sicher, dass Sie
ojet buildvor einemojet 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=trueProblem 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 --browserVerwenden 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-livereloadHinweis:
Um eine Liste aller für den Befehlojet serve verfügbaren Optionen anzuzeigen, geben Sie ojet help serve ein.