Android adb nicht gefunden

103

Wenn ich meine Android-App von Eclipse aus starte, wird dieser Fehler angezeigt.

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

PASTE VON Eclipse-Fehler kopieren

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

Mein ADB befindet sich jedoch genau an dem Ort, an dem es heißt, dass dies nicht der Fall ist.

Was ist falsch und wie behebe ich das?

Ich habe eine CD in das Verzeichnis geschrieben, in dem adb ( /home/antz/Development/adt-bundle-linux/sdk/platform-tools/) ist, und ich habe adb eingegeben und es heißt

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 ist grün, was bedeutet, dass es eine ausführbare Datei ist, richtig?

Zum Beispiel ist dx auch grün und wenn ich dx in die Eingabeaufforderung eingegeben habe, funktioniert es ... was ist falsch an adb?

ealeon
quelle
Bist du sicher, dass es so ist platform-tooldsund nicht platform-tools?
Raghav Sood
/ home / antz / Entwicklung / adt-bundle-linux / sdk / platform-toolds / adb Es gibt ein nicht benötigtes "d"!
Petey
Entschuldigung, das ist ein Tippfehler von mir in diesem Beitrag
ealeon
Haben Sie die Berechtigungen der Datei / des Ordners überprüft? Sie arbeiten unter Linux, stellen Sie sicher, dass Ihr Benutzer tatsächlich auf diesen Ordner zugreifen kann, und führen Sie adb
WarrenFaith

Antworten:

143

Unter Linux, Android SDK platform-toolsenthält Paket adbverwendet werden soll 32bit. Auf 32bitSystemen hat es gut funktioniert. Auf 64bitSystemen müssen Sie die IA32-Bibliothek jedoch manuell installieren.

Versuchen Sie für Debian-basierte Distributionen Folgendes:

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

Da v24.0 jedoch platform-toolsnur 64bitBinärdateien enthält, sind 32bitkeine Bibliotheken mehr erforderlich.

Robin Chander
quelle
danke, dass es funktioniert hat. Warum haben sie diesen Schritt nicht in das Tutorial aufgenommen?
ealeon
4
Google hat die Informationen bereitgestellt. Siehe developer.android.com/sdk/installing/index.html. Klicken Sie auf Informationen für andere Plattformen und beheben Sie dann Ubuntu.
Robin Chander
5
@RobinChander, lustig, dass das Linux 64-Bit ADT Bundle mit einem 32 Bit Adb unter adt-bundle-linux/sdk/platform-tools/adb... Dies ist auch ein Problem unter anderen Distributionen, zB Fedora 17.
Maxschlepzig
5
Ich kann keine IA32-Bibliotheken installieren! Warum?
gtr123
1
Ich habe den gleichen Fehler erhalten und dann ia32-libs installiert, aber wie starte ich jetzt die Konfiguration der ADT-Tools in Eclipse neu? Ich verwende Ubuntu 12.04
CodeKingPlusPlus
112

Sie können ia32-libs nicht mehr installieren, daher müssen Sie die einzelnen 32-Bit-Bibliotheken benötigen, die von adb benötigt werden

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

Und für Ubuntu 13.10:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
ekun
quelle
Bezieht sich dies auf eine bestimmte Linux-Version? Wenn ja, könnten Sie es in Ihre Antwort aufnehmen.
CatShoes
Hinweis: Wenn die Installation fehlschlägt (fehlerhafte Abhängigkeiten), versuchen Sie, sie zu installieren. Es wird empfohlen, einige Bibliotheken herunterzustufen, damit die Installation erfolgreich ist.
Ben Usman
4
Ich musste auch lib32z1 (Ubuntu 13.10)
AntonS
E: Paket 'lib32stdc ++ 6' hat keinen Installationskandidaten E: Paket 'lib32gcc1' hat keinen Installationskandidaten E: Paket lib32ncurses5
Ziffernklempner
Ja, vielen Dank :) Funktioniert hervorragend auf Ubuntu 13.10
Aukhan
30

Sie müssen das 32-Bit-glibc installieren:

in Fedore 64-Bit-Maschine

# yum install glibc.i686

Dadurch wird die irreführende Meldung "Keine solche Datei oder kein solches Verzeichnis" entfernt, wenn versucht wird, eine 32-Bit-Binärdatei auszuführen. Damit kann das 64-Bit-Fedora-System 64-Bit-Binärdateien ausführen.

Dadurch wird auch die irreführende Meldung "keine dynamische ausführbare Datei" von ldd entfernt, wenn ldd für eine dynamische 32-Bit-ausführbare Datei aufgerufen wird.

Jetzt müssen Sie fehlende 32-Bit-Bibliotheken installieren. Die Binärdateien unter adt-bundle-linux / sdk / platform-tools sind verknüpft mit:

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

Das ist es.

Yokks
quelle
3
Gut, eine Lösung für die Fedora-Benutzer zu sehen!
Kyle
24

Ich verwende Ubuntu 14.04 LTS 64-Bit und der folgende Code funktioniert für mich ;

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


Zusammenfassung:

Nachdem ich versucht apt-get install ia32-libs , aber apt Paket - Tool lassen vermuten , dass;

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

Dann funktioniert der obige Code für mich.

Gihanchanuka
quelle
Ich habe Ihre Lösung ausprobiert, aber das Problem tritt immer noch bei mir auf.
tvshajeer
1
Arbeitete für ein Ubuntu 16
Abduhafiz
9

Dies funktioniert hervorragend in der 64-Bit-Version von Ubuntu 13.04

Sie können ia32-libs nicht mehr installieren, daher müssen Sie die einzelnen 32-Bit-Bibliotheken benötigen, die von adb benötigt werden

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
GothamNite
quelle
Geprüft. Funktioniert hervorragend auf 13.04 64bit. Vielen Dank: D
Blaze Tama
Auf meinem 64-Bit-Computer Ubuntu 14.04 wurde auch automatisch eine Abhängigkeit lib32tinfo5 installiert.
Faizal
8

Unter Arch Linux:

Aktivieren Sie die "Multiarch" -Repositorys in /etc/pacman.conf

dann renne:

root@box#pacman -Syu

root@box#pacman -S lib32-glibc lib32-zlib lib32-libstdc++5 lib32-ncurses lib32-gcc-libs
Naumdev
quelle
Das hat bei mir funktioniert. Es ist jedoch das multilibRepository, das aktiviert werden muss.
Paldepind
4

Ich verwende Ubuntu 12.04 LTS und dieser Befehl ist das einzige, was für mich funktioniert hat:

sudo apt-get install lib32z1 lib32z1-dev

Nachdem ich das über eine Befehlszeile ausgeführt hatte, konnte ich die R.java-Datei generieren lassen (das verräterische Zeichen, dass etwas in Ihrer Installation der Android SDK-Tools nicht ganz richtig ist), indem ich ein Projekt> In Eclipse bereinigen ausführte.

J Steven Perry
quelle
3

Fügen Sie für Multiarch Debian 7.0 Folgendes hinzu:

dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
XXX
quelle
2
Dies scheint nichts mit der Frage zu tun zu haben.
Esoterischer Bildschirmname
Es klappt. Aber es ist genug mit den Paketen libc6: i386 und libstdc ++ 6: i386
Jorge Sainz
3

Auf Fedora 17 oder 18:

sudo yum install redhat-lsb.i686
xwindows
quelle
2

Sie müssen das Paket ia32-libs (IA32-Bibliotheken) installieren, damit dies funktioniert.

anthonyjruffa
quelle
2

Ich habe es in meinem Linux Mint 12 gemacht:

   chmod +x PATH/adb
Cleórbete
quelle
2

Aus dem Ubuntu Multiarch HOWTO :

Einige Benutzer, die das Android SDK verwenden, können Probleme beim Ausführen von Build-Tools oder Plattform-Tools auf der amd64-Bit-Plattform haben. Als Ersatz für ia32-libs sollten Benutzer nur die folgenden Bibliotheken installieren können:

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

Installieren Sie diese Bibliotheken unter Linux apt-get install ia32-libs

Khumzzz
quelle
1

Führen Sie die folgenden Befehle aus. Es hat bei mir funktioniert

sudo apt-get dist-upgrade
sudo apt-get install ia32-libs
Hemanth Reddy
quelle
1

in Ubuntu 64 Bit [12.04] - [14.10] und Elementary OS 64 Bit

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

Manchmal geht es nur darum, SDK-Dateien die erforderlichen Berechtigungen zu erteilen.

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

Starten Sie Android Studio neu und prüfen Sie, ob dies behoben ist.

Berechtigungsprobleme treten normalerweise auf, wenn Sie SDK-Dateien von einer NTFS-Partition oder von einem anderen Computer kopieren / verschieben.

Gayan Weerakutti
quelle
1

sudo apt install adb

ADB nicht in Ihrem PC installiert

Versuche dies.

Gautam
quelle
0

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

Der Blog erklärt Ubuntu 13.10 die Auflösung für die Installation von Chrome, Java und Fixing Android SDK.

Abhinava
quelle
Links zu externen Ressourcen werden empfohlen. Fügen Sie jedoch einen Kontext um den Link hinzu, damit Ihre Mitbenutzer eine Vorstellung davon haben, was es ist und warum es dort ist. Zitieren Sie immer den relevantesten Teil eines wichtigen Links, falls die Zielwebsite nicht erreichbar ist oder dauerhaft offline geht. Nur für die Zukunft ist die Antwort bereits gegeben. Siehe diesen Meta-Artikel.
Johannes Stadler
0

Die richtige aktuelle Kombination für Arch Linux lautet wie folgt ::

[Dieser Teil ist unverändert] Kommentieren Sie den folgenden Abschnitt in /etc/pacman.conf:

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

Dann:

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

Der Unterschied zur anderen Antwort besteht darin, dass Paketnamen jetzt die Multilib / den Teil enthalten.

(aus dem Arch Wiki: Multilib # Enabling , Android # Troubleshooting )

Ivan Bartsov
quelle