Adb de Android no encontrado

103

Cuando ejecuto mi aplicación de Android desde eclipse, aparece este error.

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 PASTA DE Eclipse Error

[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'

Sin embargo, mi adb está exactamente en la ubicación donde dice que no lo está.

¿Qué está mal y cómo lo soluciono?

Entro en el directorio donde está adb ( /home/antz/Development/adt-bundle-linux/sdk/platform-tools/) y escribí adb y dice

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 es verde, lo que significa que es un ejecutable, ¿correcto?

por ejemplo, dx también es verde y cuando escribí dx en el símbolo del sistema, funciona ... ¿qué pasa con adb?

ealeon
fuente
¿Estás seguro de que lo es platform-tooldsy no platform-tools?
Raghav Sood
/ home / antz / Development / adt-bundle-linux / sdk / platform-toolds / adb ¡HAY una "d" innecesaria ahí!
petey
Lo sentimos eso es un error por mi en este post
ealeon
¿Ha verificado los permisos del archivo / carpeta? Está trabajando en Linux, asegúrese de que su usuario pueda acceder a esa carpeta y ejecutar adb
WarrenFaith

Respuestas:

143

En Linux, el platform-toolspaquete de SDK de Android que contenía adbsolía ser 32bit. Funcionó bien en 32bitsistemas. Pero en los 64bitsistemas, debe instalar manualmente la biblioteca IA32.

Para distribuciones basadas en Debian, intente esto:

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

Pero dado que la v24.0 platform-toolscontiene solo 64bitbinarios, las 32bitbibliotecas ya no son necesarias.

Robin Chander
fuente
gracias esto lo hizo funcionar. ¿Por qué no incluyeron este paso en el tutorial?
Ealeon
4
Google proporcionó la información. Consulte developer.android.com/sdk/installing/index.html Haga clic en Información para otras plataformas y luego en la solución de problemas de ubuntu.
Robin Chander
5
@RobinChander, es gracioso que el paquete ADT de Linux de 64 bits venga con un adb de 32 bits debajo adt-bundle-linux/sdk/platform-tools/adb... Esto también es un problema en otras distribuciones, por ejemplo, Fedora 17.
maxschlepzig
5
¡No puedo instalar librerías IA32! ¿Por qué?
gtr123
1
Recibí el mismo error y luego hice apt-get install ia32-libs, pero ahora, ¿cómo reinicio la configuración de las herramientas ADT en eclipse? Estoy ejecutando Ubuntu 12.04
CodeKingPlusPlus
112

Ya no puede instalar ia32-libs, por lo que debe las bibliotecas individuales de 32 bits que necesita adb

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

Y para Ubuntu 13.10:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
ekun
fuente
¿Se refiere a una versión específica de Linux? Si es así, ¿podría ponerlo en su respuesta?
CatShoes
Nota: si la instalación falla (dependencias incorrectas) intente instalarlo, tire aptitude. Le sugeriría degradar algunas de las bibliotecas para que la instalación sea exitosa.
Ben Usman
4
También necesitaba instalar lib32z1 (Ubuntu 13.10)
AntonS
E: El paquete 'lib32stdc ++ 6' no tiene candidato de instalación E: El paquete 'lib32gcc1' no tiene candidato de instalación E: No se puede localizar el paquete lib32ncurses5
fontanero de dígitos
Sí, muchas gracias :) Funciona muy bien en ubuntu 13.10
Aukhan
30

Tienes que instalar el glibc de 32 bits:

en máquina Fedore de 64 bits

# yum install glibc.i686

Esto elimina el mensaje engañoso 'no existe tal archivo o directorio' cuando se intenta ejecutar un binario de 32 bits. Con eso, el sistema Fedora de 64 bits es capaz de ejecutar binarios de 64 bits.

Esto también elimina el mensaje engañoso "no es un ejecutable dinámico" de ldd cuando se llama a ldd en un ejecutable dinámico de 32 bits.

Ahora tiene que instalar las bibliotecas de 32 bits que faltan, los binarios de adt-bundle-linux / sdk / platform-tools están vinculados a:

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

Eso es.

yokks
fuente
3
¡Es bueno ver una solución para los usuarios de Fedora!
Kyle
24

Estoy usando Ubuntu 14.04 LTS de 64 bits y el siguiente código me funciona ;

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


Resumen:

Después de que intenté apt-get install ia32-libs , pero la herramienta de paquete apt sugiere que;

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

Entonces el código anterior funciona para mí.

Gihanchanuka
fuente
Probé tu solución pero el problema sigue ocurriendo conmigo.
tvshajeer
1
Trabajó para Ubuntu 16
Abduhafiz
9

Esto funciona muy bien en la versión de 64 bits de Ubuntu 13.04

Ya no puede instalar ia32-libs, por lo que debe las bibliotecas individuales de 32 bits que necesita adb

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
GothamNite
fuente
Probado. Funciona muy bien en 13.04 64bit. Muchas gracias: D
Blaze Tama
En mi máquina Ubuntu 14.04 de 64 bits, también se instaló automáticamente una dependencia lib32tinfo5.
faizal
8

En Arch linux:

Habilite los repositorios "multiarch" en /etc/pacman.conf

entonces corre:

root@box#pacman -Syu

root@box#pacman -S lib32-glibc lib32-zlib lib32-libstdc++5 lib32-ncurses lib32-gcc-libs
Naumdev
fuente
Esto funcionó para mí. Sin multilibembargo, es el repositorio que uno tiene que habilitar.
paldepind
4

Estoy ejecutando Ubuntu 12.04 LTS y este comando es lo único que funcionó para mí:

sudo apt-get install lib32z1 lib32z1-dev

Una vez que ejecuté eso desde una línea de comando, pude generar el archivo R.java (la señal reveladora de que algo en la instalación de las herramientas del SDK de Android no está bien) haciendo un Proyecto> Limpiar en Eclipse.

J Steven Perry
fuente
3

Para Debian 7.0 multiarca, agregue:

dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
XXX
fuente
2
Esto parece no tener nada que ver con la pregunta.
Nombre de pantalla esotérico
Funciona. Pero es suficiente con los paquetes libc6: i386 y libstdc ++ 6: i386
Jorge Sainz
3

En Fedora 17 o 18:

sudo yum install redhat-lsb.i686
xwindows
fuente
2

Debe instalar el paquete ia32-libs (bibliotecas IA32) para que esto funcione.

Anthonyjruffa
fuente
2

Lo hice en mi Linux Mint 12:

   chmod +x PATH/adb
Cleórbete
fuente
2

Desde el CÓMO de Ubuntu Multiarch :

Algunos usuarios que usan el SDK de Android pueden encontrar problemas al intentar ejecutar herramientas de compilación o herramientas de plataforma en una plataforma amd de 64 bits. Como reemplazo de ia32-libs, los usuarios deberían estar bien instalando las siguientes bibliotecas:

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

Instale estas bibliotecas en linux apt-get install ia32-libs

Khumzzz
fuente
1

Ejecute estos comandos a continuación. Ha funcionado para mi

sudo apt-get dist-upgrade
sudo apt-get install ia32-libs
hemanth reddy
fuente
1

en ubuntu 64 bits [12.04] - [14.10] y Elementary OS 64 bits

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

A veces es solo cuestión de otorgar a los archivos sdk los permisos necesarios.

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

Reinicie Android Studio y vea si eso lo soluciona.

Los problemas de permisos generalmente ocurren cuando copia / mueve archivos sdk desde una partición NTFS o cuando copia desde otra computadora.

Gayan Weerakutti
fuente
1

sudo apt install adb

adb no instalado en tu pc

Prueba esto.

Gautama
fuente
0

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

el blog explica la resolución de Ubuntu 13.10 para instalar Chrome, Java y reparar el SDK de Android.

Abhinava
fuente
Se recomiendan los enlaces a recursos externos, pero agregue contexto alrededor del enlace para que sus compañeros usuarios tengan una idea de qué es y por qué está allí. Siempre cite la parte más relevante de un enlace importante, en caso de que el sitio de destino sea inaccesible o se desconecte permanentemente. Solo para el futuro, la respuesta ya está dada. Vea este meta artículo.
Johannes Stadler
0

El combo actual correcto para Arch Linux es el siguiente:

[Esta parte no ha cambiado] Descomente la siguiente sección en /etc/pacman.conf:

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

Luego:

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

La diferencia con la otra respuesta es que los nombres de los paquetes incluyen ahora la parte multilib / .

(de Arch Wiki: Habilitación de # Multilib , Solución de problemas de Android # )

Ivan Bartsov
fuente