En Ubuntu, aparece el error 'No existe tal archivo o directorio' cuando intento ejecutar un comando.
Verifiqué con ls -la
, el archivo adb
está allí y tiene la bandera 'x' Entonces, ¿por qué recibo un 'No existe tal archivo o directorio'?
~/Programs/android-sdk-linux_x86/platform-tools$ ./adb
bash: ./adb: No such file or directory
~/Programs/android-sdk-linux_x86/platform-tools$ ls -la
total 34120
drwxrwxr-x 3 silverstri silverstri 4096 2011-10-08 18:50 .
drwxrwxr-x 8 silverstri silverstri 4096 2011-10-08 18:51 ..
-rwxrwxr-x 1 silverstri silverstri 3764858 2011-10-08 18:50 aapt
-rwxrwxr-x 1 silverstri silverstri 366661 2011-10-08 18:50 adb
-rwxrwxr-x 1 silverstri silverstri 906346 2011-10-08 18:50 aidl
-rwxrwxr-x 1 silverstri silverstri 328445 2011-10-08 18:50 dexdump
-rwxrwxr-x 1 silverstri silverstri 2603 2011-10-08 18:50 dx
drwxrwxr-x 2 silverstri silverstri 4096 2011-10-08 18:50 lib
-rwxrwxr-x 1 silverstri silverstri 14269620 2011-10-08 18:50 llvm-rs-cc
-rwxrwxr-x 1 silverstri silverstri 14929076 2011-10-08 18:50 llvm-rs-cc-2
-rw-rw-r-- 1 silverstri silverstri 241 2011-10-08 18:50 llvm-rs-cc.txt
-rw-rw-r-- 1 silverstri silverstri 332494 2011-10-08 18:50 NOTICE.txt
-rw-rw-r-- 1 silverstri silverstri 291 2011-10-08 18:50 source.properties
file adb
Respuestas:
Es un archivo ejecutable que pierde las bibliotecas requeridas. Use
ldd
para ver qué necesita, luego proporcione estos archivos.fuente
Android SDK requiere bibliotecas de 32 bits. Probablemente tenga 64 bits y necesite las bibliotecas de 32 bits. Aquí están las instrucciones de solución de problemas de developer.android.com
Para Ubuntu 13.10 (Saucy Salamandra) y por encima, instale el
libncurses5:i386
,libstdc++6:i386
yzlib1g:i386
paquetes usando apt-get:Para versiones anteriores de Ubuntu, instale el
ia32-libs
paquete usando apt-get:fuente
También es necesario para mí.
fuente
También estaba viendo lo mismo después de cambiar mi máquina de ubuntu de 32 bits a 64 bits. Bash informaría 'No existe tal archivo o directorio' de archivos que claramente existían con el atributo ejecutar
Solucionado el problema. Estas son la "Biblioteca GNU C: bibliotecas compartidas de 32 bits para AMD64"
Parece que esto es un error en bash. Tenga en cuenta que también cambié el shell predeterminado de guión a bash usando
antes de intentar ejecutar el ejecutable de 32 bits. Así que no estoy seguro de si el problema hubiera sucedido con el shell de tablero predeterminado
fuente
En una nueva instalación de Xubuntu 13.10 x64 pude
adb
ejecutar con:Y también
zlib1g:i386
para hacer elaapt
trabajo.y si aún te falta algo usa:
fuente
sudo dpkg --add-architecture i386; sudo apt-get update
para que libstdc ++ 6: i386 estuviera disponibleldd adb
Para adb, asegúrese de tener el SDK desempaquetado y de haber ejecutado el SDK Manager para completar el SDK. Además, asegúrese de tener instalado lo siguiente: A.) JDK 6 o mejor B.) lib32stdc ++ 6 C.) lib32ncurses5
hoffmanc fue lo más cercano a hacerlo bien, realmente no entiendo por qué la respuesta de Daniel Beck está marcada como correcta cuando ni siquiera está cerca y no tiene nada que ver con el problema.
Por cierto, si intentas ejecutar un comando verdaderamente inexistente (es decir:
obtendrá: fakecommand: comando no encontrado, mientras que en su situación el resultado que está viendo en realidad proviene de adb, aunque no está muy claro que ese sea el caso.
fuente
Ubunto parece tener algunos problemas con la compatibilidad con LSB, así que intente esto si está en Ubunto
Tenga en cuenta que ldd mostrará que todas las bibliotecas están allí, pero no lo están.
fuente