Oracle JET 하이브리드 모바일 애플리케이션의 일반적인 문제 해결

Oracle JET로 하이브리드 모바일 애플리케이션을 배포할 때 가장 일반적인 문제는 런타임 예외, 잘못된 구성 및 네트워킹 문제 때문일 수 있습니다.

문제 1: 실패한 ojet 빌드

회사 방화벽 뒤에서 작업할 때 ojet build 또는 ojet0- serve 명령을 실행한 후 빌드가 실패했음을 알리는 메시지를 수신할 수 있습니다.

회사 방화벽 뒤에 있는 경우 npm 프록시 설정을 올바르게 구성했는지 확인합니다.

문제 2: 모바일 OS 에뮬레이터에서 하이브리드 모바일 앱을 실행할 수 없음

하이브리드 모바일 애플리케이션을 성공적으로 구축할 수 있지만 나중에 모바일 OS 에뮬레이터에서 테스트할 수 없다는 사실을 알아봅니다.

예를 들어, 콘솔 로그에 애플리케이션이 영구 "waiting" 상태로 중단됨이 표시될 수 있습니다.

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

이 문제는 에뮬레이터를 시작하기 전에 ojet serve 명령을 실행할 때 일반적으로 발생합니다. ojet가 에뮬레이터를 시작하려고 시도하지만 에뮬레이터를 시작하는 동안 일부 명령이 실행되지 않을 수 있습니다. 이 문제를 피하려면 다음을 수행합니다.

  • 항상 에뮬레이터를 먼저 시작합니다.

  • ojet serve 명령에 대상 매개변수를 지정하지 마십시오. 애플리케이션이 열기/기본 에뮬레이터에 배치됩니다.

  • 에뮬레이터가 시작되면 ojet serve 명령을 실행합니다.

  • ojet serve 명령 앞에 ojet build를 실행했는지 확인합니다.

문제 3: 디버깅 중 CORS 문제로 실행

때때로 애플리케이션이 Oracle Mobile Hub와 같은 모바일 미들웨어에 연결하거나 에뮬레이터 라이브 디버거를 사용하는 동안 인증을 수행할 수 없습니다.

이 문제가 발생하지 않도록 하려면 ojet --no-livereload 매개변수를 사용하여 응용 프로그램을 배치할 때 라이브 다시 로드 기능을 사용 안함으로 설정합니다.

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

문제 4: LiveReload가 물리적 장치에서 작동하지 않음

LiveReload가 사용으로 설정된 장치에서 서비스를 제공할 수 없는 것은 알려진 문제입니다.

이 문제를 방지하려면 --browser 플래그를 사용하여 브라우저 내에서 앱 콘텐츠를 개발합니다.

ojet serve android --browser

그런 다음 에뮬레이터에서 LiveReload를 사용합니다. 에뮬레이터에서 이 프로세스는 실제 장치보다 느립니다.

ojet serve 

물리적 장치 사용을 테스트하려면 LiveReload를 사용 안함으로 설정해야 합니다.

ojet serve android --device --no-livereload

주:

ojet serve 명령에 사용 가능한 모든 옵션 목록을 보려면 ojet help serve를 입력합니다.