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 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=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 Befehlojet serve
verfügbaren Optionen anzuzeigen, geben Sie ojet help serve
ein.