Solução de Problemas Comuns nos Aplicativos Móveis Híbridos do Oracle JET
Ao implantar seu aplicativo móvel híbrido com o Oracle JET, os problemas mais comuns podem ser devido a exceções de runtime, configuração incorreta e problemas de rede.
Problema 1: Falha na compilação ojet
Ao trabalhar por trás de um firewall corporativo, você pode receber mensagens informando que o build falhou após emitir um comando ojet build
ou ojet0- serve
.
Se você estiver protegido por um firewall corporativo, verifique se configurou as configurações de proxy npm corretamente.
Problema 2: Não é possível iniciar o aplicativo móvel híbrido no emulador do SO móvel
Você pode criar com sucesso seu aplicativo móvel híbrido, mas descubra mais tarde que não é possível testá-lo em um emulador de SO móvel.
Por exemplo, os logs do console podem mostrar que o aplicativo trava em um estado "em espera" permanente:
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...
Esse problema é comum ao executar o comando ojet serve
antes de iniciar o emulador. Embora ojet
tente iniciar o emulador, alguns comandos podem não ser executados enquanto o emulador está sendo iniciado. Para evitar esse problema:
-
Sempre inicie o emulador primeiro.
-
Não especifique um parâmetro de destino para o comando
ojet serve
. O aplicativo será implantado no emulador aberto/padrão. -
Depois que o emulador tiver sido iniciado, execute o comando
ojet serve
. -
Certifique-se de ter executado
ojet build
antes de um comandoojet serve
.
Problema 3: Executando em um Problema CORS Durante a Depuração
Às vezes, seu aplicativo não pode se conectar a nenhum middleware móvel, como o Oracle Mobile Hub, ou executar a autenticação ao usar um depurador ativo de emulador.
Para evitar que isso aconteça, use o parâmetro ojet
--no-livereload para desativar o recurso de recarga ao implantar seu aplicativo:
ojet serve --platform=android --no-livereload=true
Problema 4: LiveReload Não Funciona em um Dispositivo Físico
Não ser capaz de servir para um dispositivo com LiveReload ativado é um problema conhecido.
Para contornar esse problema, desenvolva o conteúdo do aplicativo em um browser usando o flag --browser
:
ojet serve android --browser
Em seguida, use LiveReload no emulador. Observe que esse processo é mais lento em um emulador do que em um dispositivo real:
ojet serve
Para testar usando um dispositivo físico, você precisará desativar LiveReload:
ojet serve android --device --no-livereload
Observação:
Para ver uma lista de todas as opções disponíveis para o comandoojet serve
, digite ojet help serve
.