Sous Ubuntu, le message d'erreur "Aucun fichier ou répertoire de ce type" ne s'affiche lorsque j'essaie d'exécuter une commande.
J'ai vérifié avec ls -la
, le fichier adb
est là et il a le drapeau 'x' Alors pourquoi est-ce que je reçois un 'Aucun fichier ou répertoire de ce type'?
~/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
C'est un fichier exécutable qui manque les bibliothèques requises. Utilisez ldd
pour voir ce dont il a besoin, puis fournissez ces fichiers.
Le SDK Android nécessite des bibliothèques 32 bits. Vous êtes probablement sur 64 bits et avez besoin des bibliothèques 32 bits. Voici les instructions de dépannage de developer.Android.com
Pour Ubuntu 13.10 (Saucy Salamander) et les versions ultérieures, installez les paquets libncurses5:i386
, libstdc++6:i386
et zlib1g:i386
à l'aide d'apt-get:
Sudo dpkg --add-architecture i386
Sudo apt-get update
Sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386
Pour les versions antérieures d'Ubuntu, installez le paquetage ia32-libs
en utilisant apt-get:
apt-get install ia32-libs
Sudo apt-get install --reinstall libc6-i386
c'est aussi un besoin pour moi.
Je voyais également la même chose après avoir basculé ma machine d'ubuntu 32 bits à 64 bits. Bash indiquerait "Aucun fichier ou répertoire de ce type" parmi les fichiers qui existaient clairement avec l'attribut execute.
Sudo apt-get install --reinstall libc6-i386
Correction du problème. Il s’agit de la "Bibliothèque GNU C: bibliothèques partagées 32 bits pour AMD64".
On dirait que c'est un bug dans bash. Notez que j’ai aussi changé le shell par défaut de dash en bash en utilisant
Sudo dpkg-reconfigure dash
avant d’essayer d’exécuter l’exécutable 32 bits. Donc, je ne suis pas sûr si le problème se serait produit avec le shell de tableau de bord par défaut
Sur une nouvelle installation de Xubuntu 13.10 x 64, j’ai eu adb
sous:
Sudo apt-get install --reinstall libc6-i386
Sudo apt-get install libstdc++6:i386
Et aussi zlib1g:i386
pour faire fonctionner aapt
.
et si vous manquez encore quelque chose, utilisez:
lld adb
Pour adb, assurez-vous que le SDK a été décompressé et que vous avez exécuté SDK Manager pour remplir complètement le SDK. De plus, assurez-vous que les éléments suivants sont installés: A.) JDK 6 ou supérieur B.) lib32stdc ++ 6 C.) lib32ncurses5
hoffmanc a été le plus proche de la vérité, je ne comprends pas vraiment pourquoi la réponse de Daniel Beck est marquée comme étant correcte alors qu’elle n’est même pas proche et qu’elle n’a rien à voir avec le problème.
Incidemment, si vous essayez d’exécuter une commande vraiment non existante (c.-à-d.:
# fakecommand
vous obtiendrez: fakecommand: commande introuvable, alors que dans votre cas, la sortie que vous voyez provient en réalité de adb, même si ce n'est pas très clair.
Ubuntu semble avoir quelques problèmes avec la compatibilité LSB, alors essayez ceci si vous êtes sur Ubuntu
apt-get install lsb
Notez que ldd montrera en quelque sorte que toutes les bibliothèques sont là, mais elles ne le sont pas.
usmp-vm-lamp01$ ldd lmgrd
linux-vdso.so.1 => (0x00007fffb33fe000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f10b0a48000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f10b074c000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f10b0535000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f10b0175000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f10aff71000)
/lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007f10b0c67000)
usmp-vm-lamp01$ locate libpthread.so.0
/lib/x86_64-linux-gnu/libpthread.so.0
usmp-vm-lamp01$ locate libm.so.6
/lib/x86_64-linux-gnu/libm.so.6
usmp-vm-lamp01$ locate /lib64/ld-lsb-x86-64.so.3
usmp-vm-lamp01$