Erro adb devices no Genymotion e Android Studio (React Native)
Perdi muito tempo quebrando a cabeça de como configurar corretamente o ambiente de desenvolvimento React Native no Linux.
Seguia todos os procedimentos de configurações e mesmo assim me deparava com o seguinte erro:
adb server version (40) doesn't match this client (36); killing...
error: could not install *smartsocket* listener: Address already in use
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon
Sempre que executava o comando: react-native run-android
O porque ocorre isso?
Se você tem o adb
instalado na sua distro Linux provavelmente ele está diferente da versão do Genymotion ou Android Studio.
Os emuladores vem com a própria versão do adb
na sua pasta tools/
Caso você alterou a pasta padrão, será necessário usar um cliente adb
que corresponda à versão contida no SDK que você está apontando.
E para corrigir isso vamos digitar os seguintes comandos:
sudo cp ~/Android/Sdk/platform-tools/adb /usr/bin/adb
Caso esteja utilizando uma pasta diferente para a SDK do Android, altere no comando acima.
sudo chmod +x /usr/bin/adb
sudo apt-get install gedit
sudo gedit /etc/environment
Adicione a linha abaixo no arquivo que foi aberto
source ~/.bashrc
E pronto, não terá mais problemas com seu Genymotion ou Android Studio
Simples assim. Obrigado!!