Adb Android não encontrado


103

Quando executo meu aplicativo Android no Eclipse, recebo este erro.

Unexpected exception 'Cannot run program "/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb": error=2 No such file or directory' while attempting to get adb version from /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb

COPIAR PASTE DO Erro Eclipse

[2012-11-26 13:43:08 - adb] Unexpected exception 'Cannot run program "/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb": error=2, No such file or directory' while attempting to get adb version from '/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb'

No entanto, meu adb está exatamente no local onde diz que não está.

O que está errado e como faço para corrigir isso?

I cd para o diretório onde adb é ( /home/antz/Development/adt-bundle-linux/sdk/platform-tools/) e digitei adb e ele diz

antz@antz-90X3A:~/Development/adt-bundle-linux/sdk/platform-tools$ ls  
aapt  aidl  dexdump  fastboot  llvm-rs-cc  renderscript  
adb   api   dx       lib       NOTICE.txt  source.properties  
antz@antz-90X3A:~/Development/adt-bundle-linux/sdk/platform-tools$ adb  
bash: /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb: No such file or directory

adb é verde, o que significa que é um executável, correto?

por exemplo, dx também é verde e quando digitei dx no prompt de comando, ele funciona ... o que há de errado com o adb?


Tem certeza que sim platform-tooldse não platform-tools?
Raghav Sood

/ home / antz / Development / adt-bundle-linux / sdk / platform-toolds / adb EXISTE um "d" desnecessário aí!
petey

desculpe, isso é um erro de digitação meu neste post
ealeon

você verificou as permissões do arquivo / pasta? Você está trabalhando no Linux, certifique-se de que seu usuário possa realmente acessar essa pasta e execute adb
WarrenFaith

Respostas:


143

No Linux, o platform-toolspacote do Android SDK adbcostumava ser 32bit. Funcionou bem em 32bitsistemas. Mas em 64bitsistemas, você precisa instalar manualmente a biblioteca IA32.

Para distribuições baseadas em Debian, tente o seguinte:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Mas desde a v24.0 platform-toolscontém apenas 64bitbinários - então as 32bitbibliotecas não são mais necessárias.


obrigado, isso fez funcionar. por que eles não incluíram esta etapa no tutorial?
ealeon

4
O Google forneceu as informações. Consulte developer.android.com/sdk/installing/index.html Clique em Informações para outras plataformas e, a seguir, solução de problemas do Ubuntu.
Robin Chander

5
@RobinChander, engraçado que o pacote ADT de 64 bits do Linux venha com um adb de 32 bits em adt-bundle-linux/sdk/platform-tools/adb... Isso também é um problema em outras distribuições, por exemplo, Fedora 17.
maxschlepzig

5
Não consigo instalar libs IA32! Por quê?
gtr123

1
Recebi o mesmo erro e então fiz apt-get install ia32-libs, mas agora como faço para reiniciar a configuração das ferramentas ADT no eclipse? Estou executando o Ubuntu 12.04
CodeKingPlusPlus de

112

Você não pode mais instalar ia32-libs, então você deve ter as bibliotecas individuais de 32 bits necessárias para o adb

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

E para Ubuntu 13.10:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1

Isso se refere a uma versão específica do Linux? Em caso afirmativo, você poderia colocá-lo em sua resposta.
CatShoes

Nota: se a instalação falhar (dependências ruins) tente instalá-lo através do aptitude. Ele sugere que você faça o downgrade de algumas bibliotecas para que a instalação seja bem-sucedida.
Ben Usman

4
Também precisei instalar o lib32z1 (Ubuntu 13.10)
AntonS

E: Pacote 'lib32stdc ++ 6' não tem candidato para instalação E: Pacote 'lib32gcc1' não tem candidato para instalação E: Não foi possível localizar pacote lib32ncurses5
dígitos encanador

Sim, muito obrigado :) Funciona muito bem no ubuntu 13.10
Aukhan

30

Você deve instalar a glibc de 32 bits:

na máquina Fedore 64 bits

# yum install glibc.i686

Isso remove a mensagem enganosa 'nenhum arquivo ou diretório' ao tentar executar um binário de 32 bits. Com isso, o sistema Fedora de 64 bits é capaz de executar binários de 64 bits.

Isso também remove a mensagem enganosa 'não é um executável dinâmico' do ldd ao chamar o ldd em um executável dinâmico de 32 bits.

Agora você tem que instalar as bibliotecas de 32 bits ausentes aos quais os binários em adt-bundle-linux / sdk / platform-tools estão vinculados a:

# yum install zlib.i686 libstdc++.i686 ncurses-libs.i686 libgcc.i686

É isso aí.


3
É bom ver uma solução para os usuários do Fedora!
Kyle

24

Estou usando o Ubuntu 14.04 LTS de 64 bits e o código a seguir funciona para mim ;

sudo apt-get install lib32z1 lib32z1-dev
sudo apt-get install lib32stdc++6


Resumo:

Depois de tentar apt-get install ia32-libs , mas a ferramenta de pacote apt sugere isso;

Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source.

However the following packages replace it:
  lib32z1 lib32ncurses5 lib32bz2-1.0

Então o código acima funciona para mim.


Tentei sua solução, mas ainda assim o problema ocorre comigo.
tvshajeer

1
Trabalhou para um Ubuntu 16
Abduhafiz

9

Isso funciona muito bem na versão de 64 bits do Ubuntu 13.04

Você não pode mais instalar ia32-libs, então você deve ter as bibliotecas individuais de 32 bits necessárias para o adb

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Testado. Funciona muito bem em 13,04 64 bits. Muito obrigado: D
Blaze Tama

Na minha máquina Ubuntu 14.04 de 64 bits, uma dependência lib32tinfo5 também foi instalada automaticamente.
faizal

8

No Arch linux:

Habilite os repositórios "multiarch" em /etc/pacman.conf

então corra:

root@box#pacman -Syu

root@box#pacman -S lib32-glibc lib32-zlib lib32-libstdc++5 lib32-ncurses lib32-gcc-libs

Isso funcionou para mim. É o multilibrepositório que deve ser habilitado.
paldepind

4

Estou executando o Ubuntu 12.04 LTS e este comando é a única coisa que funcionou para mim:

sudo apt-get install lib32z1 lib32z1-dev

Depois de executá-lo a partir de uma linha de comando, consegui fazer com que o arquivo R.java fosse gerado (o sinal de que algo na instalação das ferramentas do Android SDK não está certo) fazendo um Projeto> Limpar no Eclipse.


3

Para multiarch Debian 7.0, adicione:

dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

2
Isso parece não ter nada a ver com a pergunta.
Nome de tela esotérico de

Funciona. Mas é o suficiente com os pacotes libc6: i386 e libstdc ++ 6: i386
Jorge Sainz

3

No Fedora 17 ou 18:

sudo yum install redhat-lsb.i686

2

Você precisa instalar o pacote ia32-libs (bibliotecas IA32) para que isso funcione.




2

Do Ubuntu Multiarch HOWTO :

Alguns usuários que usam o Android SDK podem encontrar problemas ao tentar executar ferramentas de construção ou ferramentas de plataforma na plataforma amd64. Como substituto para ia32-libs, os usuários devem estar bem apenas instalando as seguintes bibliotecas:

dpkg --add-architecture i386
aptitude update
aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

1

Instale essas bibliotecas em linux apt-get install ia32-libs


1

Execute os comandos abaixo. Funcionou para mim

sudo apt-get dist-upgrade
sudo apt-get install ia32-libs

1

no Ubuntu 64 bits [12.04] - [14.10] e Elementary OS 64 bits

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

1

Às vezes, é apenas uma questão de dar aos arquivos sdk as permissões necessárias.

sudo chmod -R +x /path/to/android-sdk-linux

Reinicie o Android Studio e veja se isso corrige.

Os problemas de permissão normalmente ocorrem quando você copia / move arquivos sdk de uma partição NTFS ou copia de outro computador.


1

sudo apt install adb

adb não instalado no seu pc

Experimente isso.


0

http://abhinavasblog.blogspot.sg/2013/10/working-with-ubuntu-1304-and-1310-java.html

o blog explica a resolução para o Ubuntu 13.10 para instalar o Chrome, Java e Fixing Android SDK.


Links para recursos externos são incentivados, mas por favor, adicione contexto ao link para que seus outros usuários tenham uma ideia do que é e por que está lá. Sempre cite a parte mais relevante de um link importante, caso o site de destino esteja inacessível ou fique permanentemente offline. Apenas para o futuro, a resposta já foi dada. Veja este meta artigo.
Johannes Stadler

0

A combinação atual correta para Arch Linux é a seguinte::

[Esta parte não foi alterada] Remova o comentário da seguinte seção em /etc/pacman.conf:

...
[multilib]
Include = /etc/pacman.d/mirrorlist
...

Então:

sudo pacman -Syu && sudo pacman -S multilib/lib32-libstdc++5 multilib/lib32-zlib

A diferença com a outra resposta é que os nomes dos pacotes agora incluem multilib / part.

(do Arch Wiki: Multilib # Enabling , Android # Troubleshooting )

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.