Instalei o Ubuntu 14.04 e o atual SDK de desenvolvimento Android, que contém executáveis ​​de 32 bits. Descobri que não consigo executar esses binários de 32 bits. Tentar iniciá-los a partir do bash me dá um erro:
Está lá, porém:
Antigamente, era possível instalar bibliotecas de 32 bits no Ubuntu de 64 bits para obter suporte a 32 bits, mas isso parece não funcionar mais.
Para executar um arquivo executável de 32 bits em um multi-arquitetura do sistema Ubuntu de 64 bits, você tem que adicionar a i386arquitetura e instalar os três pacotes de bibliotecas libc6:i386, libncurses5:i386e libstdc++6:i386:
Ou se você estiver usando o Ubuntu 12.04 LTS (Precise Pangolin) ou abaixo, use o seguinte:
Após estas etapas, você poderá executar o aplicativo de 32 bits:
@AvinashRaj Isso me ajudou! No entanto, qual é o último comando "sudo ./adb" que deve ser executado?
Ele executa o arquivo binário de 32 bits adb que estava presente no diretório atual.
para que o aapt funcionasse no Ubuntu 14.04, eu tinha que instalar lib32z1também, mas notei que ele puxava a libc6-i386 (distinção, observe o hífen, não os dois pontos).
— Chris Betti 23/05
Eu fiz seus passos, libc6:i386, libncurses5:i386, libstdc++6:i386estão versão mais recente e definido para instalado manualmente. Mas depois disso diz: " Soma packages could not be installed.This may mean you have requested impossible situation or you are using unstable distribution ..." e dependências não atendidas: libstdc++6-4.4-dev:i386depende g++-4.4:i386(não será instalado). conflitos: libstdc++6-4.4-dbg:i386... e outros conflitos sobre libstdc++6-4.4/6/7etc. O que está errado ou devo deixar como está agora?
@FredrickGauss entra aqui .
"Nenhum arquivo ou diretório desse tipo" pode aparecer quando você tem o seu binário, mas faltam algumas bibliotecas. Se você instalar o build-essentialpacote, você terá o lddcomando disponível. Este comando ldd ./adb | grep notirá mostrar quais bibliotecas estão faltando. Basta instalar essas bibliotecas no i386 arch com o apt. Assim: apt-get install libmissing:i386 Cuidado, alguns pacotes de bugs tentam excluir os abetos da versão de 64 bits.
Obrigado, isso explicaria a mensagem de erro estranha. Primeiro fiquei confuso por que o bash me daria esse erro (em vez de algum erro vindo mais claramente do processo filho que falta nas bibliotecas), mas agora acho que o bash vê o exec (3) retornando ENOENT e o imprime.
E se você quiser usar "adb", há um pacote para isso:
E cerca de bibliotecas de 32 bits - apenas:
— aastefanov
Obrigado pela dica, mas eu queria usar as ferramentas do Android baixadas do google, não as dos repositórios do Ubuntu. Também não tenho certeza sobre a integridade desse pacote.
Os repositórios do Ubuntu devem ter a nova versão. O pacote contém apenas adb. Se você quiser fastboot - há pacote para ele também :)