Tentando criar um projeto react-native no Android 4.4.2, recebo esta tela de erro
e não conseguiu encontrar nenhuma maneira de resolvê-lo. Tentei reiniciar o empacotador, reconectar o dispositivo, até reinstalar o reagir nativo e iniciar um novo projeto. No 6.0.0 e versões posteriores, funciona muito bem.
android
react-native
Zygro
fonte
fonte
react-native run-android
? Estou recebendo o erro nesse caso, o que é estranho, porque no modo de depuração não deve haver necessidade do pacote JS afaik, pois ele deveria estar se conectando ao servidor de pacotes.Respostas:
Uma solução possível para isso é que você provavelmente não agrupará seu aplicativo primeiro, execute as etapas a seguir e implante seu app-debug.apk no dispositivo
(se a pasta
assets
não existir, crie-a)Em seguida, execute a partir da raiz do projeto
instale o apk criado para o seu dispositivo, a partir da localização:
android/app/build/outputs/apk/app-debug.apk
deixe-me saber se isso resolve o seu problema
EDIT :
Você pode simplesmente colocá-lo no seu package.json como um script para automatizá-lo, acredito que será corrigido nas próximas versões do react-native e será executado antes da montagem do APK final, portanto, isso não será necessário (espero também)
colocar :
ou como mencionado o equivalente de ondulação, mas na maioria dos casos o acima é mais robusto
fonte
Me deparei com esta questão também. O que fiz foi forçar a interrupção do aplicativo no meu dispositivo, abri outro console e executei
depois abri o aplicativo novamente no meu dispositivo e ele começou a funcionar novamente.
EDIT: Se você estiver usando um dispositivo Android via USB e o desconectou ou seu computador entrou no modo de suspensão, pode ser necessário executar primeiro
fonte
react-native run-android
. Usandoreact-native start
nunca mais foi necessário para mim quando eu estava fazendoreact-native run-ios
adb reverse tcp:8081 tcp:8081
foi suficiente por si só para mim. Muito Obrigado!Acabei de receber este erro. Aqui está o que eu fiz para corrigir: Eu selecionei
Dismiss
, Entrei no menu Desenvolvedor e, em seguidaDev Settings
, EscolhaDebug server host & port for device
, adicionei o endereço IP e a porta dos meus computadores:192.168.0.xx:8xxx
use qualquer que seja o endereço IP atribuído à máquina do desenvolvedor na sua rede wifi. A porta é geralmente:8081
Depois que fiz isso, tudo correu bem. Além disso, enquanto você estiver no menu dev, lembre-se de selecionar
Enable Live Reload
eDebug JS Remotely
, isso facilita muito a sua vida durante a depuração.fonte
ifconfig
, em seguida, encontrar inet addr: xxx.xxx.xxx.xxx, onde xxx * é a sua máquina do desenvolvedor ipFoi isso que funcionou para mim (depois de tentar todas as outras soluções que encontrei ...)
Corra para
adb reverse tcp:8081 tcp:8081
dentro\Android\sdk\platform-tools
fonte
react-native run-android
tenta executar esse comando e depende da variável de ambiente do Windowspath
para conter oplatform-tools
caminho.Também obtive isso quando comecei pela primeira vez com o React Native, usando um dispositivo físico. Se for esse o caso, você precisará fazer algumas coisas extras antes de começar. Você precisa inserir algumas informações sobre sua máquina de desenvolvimento nas 'Configurações do desenvolvedor' do React Native.
Quando você vir o erro, agite seu dispositivo . Uma caixa de diálogo será exibida, a última opção será 'Configurações do desenvolvedor'. Selecione 'Debug server hot & port for device' e digite seu IP local e a porta usada (geralmente 8081).
Consulte o último parágrafo de https://facebook.github.io/react-native/docs/running-on-device-android.html
fonte
Se nenhuma solução funcionar para você, tente o seguinte:
Descobri que minha
<root>/android/app/build/intermediates/assets/debug
pasta estava vazia e, ao executar,cd android && ./gradlew assembleDebug
não estava criando os arquivos necessários, que são mais tarde usados pelo encadeamento javascript em nossos aplicativos nativos de reação.Executei manualmente o seguinte comando que o comando debug build deveria ter criado idealmente.
Depois de executar esses comandos, encontrei dois arquivos de pacote neste diretório
<root>/android/app/build/intermediates/assets/debug
E então eu corri novamente
cd android && ./gradlew installDebug
meu aplicativo começou a funcionar novamente.Depurará mais e atualizará o que está realmente falhando.
fonte
Em um terminal separado , conecte seu dispositivo ao computador e execute os seguintes comandos:
Terminal de aplicação :
fonte
É um pouco tarde demais, mas isso realmente funciona para mim.
react-native run-android
.react-native start
.O primeiro comando será construído
apk
para o Android e implantado no seu dispositivo, se estiver conectado. Quando você abre o aplicativo, ele mostra a tela vermelha com erro. Em seguida, execute o segundo comando que executará o empacotador e criará o pacote de aplicativos para você.fonte
Tente este comando no terminal e depois recarregue. Funcionou para mim
tcp reverso adb: 8081 tcp: 8081
fonte
veja o problema :
1.react-native start
2. clique
Reload(R,R)
no seu dispositivo.fonte
react-native run-android
fonte
restart the genymotion
? Ty rat.Eu estava tendo a mesma exceção no dispositivo Z3 Compact D5803 - 6.0.1
Fui aberto o arquivo .buckconfig e alterei a linha:
target = Google Inc.:Google APIs:23
para
target = Google Inc.:Google APIs:24
Porque eu vi no SDK Manager que o Android 6.X tem um nível 24 de API.
fonte
Para mim, é porque
adb
não estava noPATH
. Ele está localizado/Users/man/Library/Android/sdk/platform-tools
para mim, pode estar em outro lugar para você, mas, mesmo assim, encontre-o e adicione-o ao seu caminho para ver se isso ajuda.fonte
Como você está usando o Android <5.0, não é possível usar o
adb reverse
método padrão , mas o Facebook adicionou documentação oficial para conectar-se ao servidor de desenvolvimento via Wi-Fi , que suportaria sua versão. Citando as instruções para o MacOS, mas elas também as têm para Linux e Windows:fonte
Ele teve esse problema "aleatoriamente" e levou algum tempo para perceber o que havia de errado no meu cenário.
Após a atualização para o React-native-cli 2.0.1, houve uma mensagem no log que me ajudou a pesquisar e encontrar a causa raiz:
Depois de pesquisar alguns links, encontrei este:
Não foi possível reconhecer o servidor JS
Como estou no Windows, executei o netstat e descobri que meu VLC player também estava sendo executado na porta 8081, causando o problema. Portanto, no meu caso, se eu iniciasse o servidor vlc antes do servidor react-native, não funcionaria.
Essa mesma mensagem de log não foi emitida nas versões anteriores do react-native-cli, causando falha silenciosa.
TL, DR: verifique se há algo em execução na mesma porta que o gerenciador de pacotes (8081 por padrão)
fonte
Meu problema foi que examinei meu
AndroidManifest.xml
arquivo e removi a linha<uses-permission android:name="android.permission.INTERNET" />
porque meu aplicativo não precisará de internet. No entanto, o aplicativo de depuração nativo react precisa de acesso à Internet (para acessar o empacotador) Ops. :)
fonte
Tente limpar o cache
fonte
Verifique se você tem o seguinte erro ao executar
react-native run-android
:adb server version (XX) doesn't match this client (XX); killing...
Nesse caso, certifique-se
/usr/local/opt/android-sdk/platform-tools/adb
e/usr/local/bin/adb
aponte para o mesmoadb
No meu caso, um foi apontado para
/Users/sd/Library/Android/sdk/platform-tools/adb
(Android SDK), mas outro foi apontado para/usr/local/Caskroom/android-platform-tools/26.0.2/platform-tools/adb
(Homebrew)E o problema foi corrigido depois que os dois apontaram
/Users/sd/Library/Android/sdk/platform-tools/adb
(Android SDK)fonte
Também recebi esse erro, muito confuso. porque todas as respostas não funcionam. Logo após adicionar adb ao caminho.
fonte
Para mim, eu tinha a sincronização lateral ativada e ativa. Fechá-lo imediatamente fez com que o problema desaparecesse. Pode valer a pena fechar esta ou qualquer outra comunicação entre o PC e o dispositivo
fonte
Acabei tendo que abrir a porta que estava usando (8081 por padrão). No Linux, você pode fazer o seguinte
Você pode testar para ver se realmente precisa fazer isso. Basta navegar para o servidor de desenvolvimento no Chrome no seu dispositivo Android. Se não responder, pode ser o que você precisa. Se ele responder, isso não ajudará.
fonte
Meu caminho é:
Depois disso no seu dispositivo usando:
Veja no console react-native, que será buscar os dados do pacote js.
fonte
Eu tive o mesmo problema. Quando eu criei um projeto nativo react através do aplicativo createProject native native AwesomeProject ele funcionou bem no aplicativo Expo no telefone. Depois disso, quis usar esse projeto de início rápido para desenvolver meu projeto e obtive o mesmo erro que você.
Após algumas pesquisas, descubro que é melhor iniciar um novo projeto com o init-react react-native AwesomeProject (com todas as configurações nos documentos nativos do react). Em seguida, execute este comando:
Isso deve corrigir o problema com o pacote (--dev false não está mostrando avisos)
Tudo o que você precisa fazer para que o aplicativo seja executado no seu dispositivo virtual / real é:
E deve estar funcionando muito bem. Pelo menos funcionou pra mim.
fonte
Para mim, o problema era que 'adb' não era reconhecido - verifique esta resposta.
Para corrigir isso, adicione C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk \ platform-tools às variáveis de ambiente
fonte
Muitos de nós enfrentamos esse problema pela primeira vez, quando começamos a reagir ao projeto nativo nº 1.
Poucos passos simples resolveram meu problema:
Criei um projeto de amostra usando o comando:
Solução
A correção é ajudar
local-cli\runAndroid\adb.js
a encontraradb.exe
, da mesma maneira quelocal-cli\runAndroid\runAndroid.js
:encontre a instrução replace em nome do projeto (o que você deu)
\node_modules\react-native\local-cli\runAndroid
Substituir:
De:
depois de fazer a substituição acima, basta executar o react-native run-android no seu cmd, ele agrupará o apk e, primeiro, tente instalar o pacote js localmente no seu dispositivo. (Obteve sucesso)
fonte
Tentei muitas das sugestões acima / abaixo, mas, no final das contas, o problema que enfrentei foi de permissões com o watchman, que foi instalado usando o homebrew anteriormente. Se você observar as mensagens do terminal ao tentar usar o emulador e encontrar erros 'Permissão negada' em relação ao watchman, junto com a mensagem 'Não foi possível obter o BatchedBridge "no emulador, faça o seguinte:
Vá para o seu
/Users/<username>/Library/LaunchAgents
diretório e altere as configurações de permissões para que seu usuário possa ler e gravar. Isso independentemente de você realmente ter umcom.github.facebook.watchman.plist
arquivo ou não.fonte
Eu descobri que precisava adicionar também um
para que o aplicativo seja executado corretamente.
fonte
Eu tenho o mesmo problema, mas foi um erro estúpido de mim mesmo ...
No Android studio , eu estava lançando o
installDebug/installRelease
script gradle doapp
projet em vez doroot
projet.fonte
Caminho mais fácil!
Você está pronto para ir!
fonte
Basta reiniciar o sistema ou o pacote completo e o problema pode ser corrigido.
fonte