3
respostas

Erro Unable to load script from assets 'index.android.bundle'.make sure you bundle is packaged correctly

Ao executar react-native run-android, o apk é instalado no emulador mas gera uma tela de erros vermelha com a mensagem "Unable to load script from assets 'index.android.bundle'.make sure you bundle is packaged correctly"

3 respostas

Fala Aloisio, tudo bem ?

Nunca obtive este erro no Android, mas dando um pesquisada por esse output pelos links da comunidade (o próprio projeto do react-native no github, mais fóruns) consegui coletar algumas possíveis soluções, que funcionaram para bastante gente.

Uma delas sugere que você rode o seguinte comando antes de tentar a execução: adb reverse tcp:8081 tcp:8081. Isso vai fazer com que seu dispositivo tenha a referência do servidor de dev rodando com o node na porta 8081 (que tem por responsabilidade, entre outras, coisas a produzir o bundle js que deveria estar sendo carregador pela app).

Depois rode separadamente, primeiro react-native start e depois react-native run-android.

Caso não dê certo, você pode tentar gerar o bundle diretamente via linha de comando. Outra coisa que ajudou por vezes nesse caso.

Rode:

  1. (na pasta do projeto) mkdir android/app/src/main/assets

  2. react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

  3. react-native run-android

Veja se isso pode ajudar.

Espero ter ajudado. Abraço!

Links úteis para pesquisa:

https://github.com/facebook/react-native/issues/15070

https://stackoverflow.com/questions/44446523/unable-to-load-script-from-assets-index-android-bundle-on-windows/44476757#44476757

https://github.com/react-community/lottie-react-native/issues/269

https://github.com/facebook/react-native/issues/18692

Olá Rafael,

Obrigado pela ajuda! mas ainda continuo com alguns problemas...

Eu estou rodando em ambiente Windows 10 pra Android.

Eu segui os passos que você me recomendou, inclusive havia encontrado os passos 1 e 2 descritos no link: https://github.com/facebook/react-native/issues/15070 e os segui à risca.

Também adicionei a configuração multiDexEnabled true no arquivo build.gradle dentro do android para conseguir compilar.

No entanto, ao rodar react-native run-android consigo compilar e rodar no emulador, no entanto ao executar recebo a mensagem de aviso "JS server not recognized, continuing with build...". Coloquei a imagem do log aqui : React Android

Você vai notar que o apk é instalado e executado mas com problemas e sem a opção de eu ir atualizando o aplicativo conforme vou alterando o código, aliás em recompilando o aplicativo se altera...

Eu só consegui criar um projeto e executar usando o react-native-cli, conforme a documentação me indicou, mas este processo não cria as pastas android e ios , ou seja, consegui ir fazendo o curso, mas quando chego na parte da navegação entre telas eu travo pois não posso fazer a configuração no projeto android, pois não tenho esta pasta... Consegui até simular a troca de telas usando renderização condicional mas logicamente fico sem os efeitos de transição e o histórico de navegação....

Fala Aloisio, tudo bem ?

Só pra ter certeza, o erro da tela vermelha (Unable to load script from assets 'index.android.bundle') não é o problema agora, é isso?

Pelo que vi na imagem deu pra fazer o build e subir sem a tela vermelha.

Sobre a questão de não ter criado a estrutura do projeto Android, uma pergunta.. Ao criar a app você utilizou o comando react-native init NomeDoProjeto ou create-react-native-app NomeDoProjeto ?

Pergunto porque criando com a create-react-native-app esse comportamento é o esperado. O projeto gera apenas JS e não tendo acesso as pastas do projeto e seu código nativo.

Já com react-native init devem ser criadas as pastas ios e android com o conteúdo do projeto, que pode inclusive ser aberto no AndroidStudio por exemplo para checar o build.

Não existindo a pasta com os códigos nativos realmente temos problemas para prosseguir dado que o linking da lib de navegação requer configuração nativa e mesmo alteração do código nativo para seu funcionamento.. Dessa forma eu sugeriria você tentar criar outro projeto com react-native init NomeDoProjeto --version 0.55.4 (evitando os releases 0.56.x que estão dando alguns probleminhas no windows 10) e verificar se o projeto foi criado corretamente (com as pastas android e ios, inclusive abrindo a pasta android como um projeto android no Android Studio pra checar o build inicial por dentro da IDE). Caso tenha criado, transfira o estado do seu código pra dentro dessa aplicação e teste. Caso não, poste aqui.

Realmente não sei o que pode estar gerando esse problemas de build no seu ambiente.

Abs

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software