2013-12-11 7 views
10

Właśnie dostałem zupełnie nowy komputer z Ubuntu i próbuję skonfigurować Androida SDK. Jestem całkiem nowy dla Unixa, więc wybacz mi, jeśli popełniłem głupi błąd.Błąd "brak polecenia" adb "znaleziony" na Ubuntu

Postępowałem zgodnie z instrukcjami podanymi here, aż do dodania pliku "Rule". Teraz jeśli spróbuję w terminalu adb devices, otrzymam komunikat "Brak polecenia" adb "znaleziony" i zapytam, czy popełniłem błąd w pisowni.

@USER:~/android-sdk-linux/platform-tools$ ls 
NOTICE.txt adb api fastboot source.properties systrace 
@USER:~/android-sdk-linux/platform-tools$ adb devices 
No command 'adb' found, did you mean: 
Command 'cdb' from package 'tinycdb' (main) 
Command 'gdb' from package 'gdb' (main) 
Command 'dab' from package 'bsdgames' (universe) 
Command 'zdb' from package 'zfs-fuse' (universe) 
Command 'kdb' from package 'elektra-bin' (universe) 
Command 'tdb' from package 'tads2-dev' (multiverse) 
Command 'pdb' from package 'python' (main) 
Command 'jdb' from package 'openjdk-6-jdk' (main) 
Command 'jdb' from package 'openjdk-7-jdk' (universe) 
Command 'ab' from package 'apache2-utils' (main) 
Command 'ad' from package 'netatalk' (universe) 
adb: command not found 

Szukałem przez a couple of questions on StackOverflow a niektórzy sugerują używam polecenia apt-get install ia32-libs dostać jakieś biblioteki 32-bitowe. Jednak jestem na 64-bitowej maszynie, więc nie jestem pewien, czy powinienem to zrobić, czy nie.

Innym dziwnym problemem, który zauważyłem, jest to, że nawet jeśli przejdę do folderu platform-tools i wykonam polecenie adb devices, otrzymam ten sam błąd. Tak więc, być może brakuje tu czegoś innego niż niepoprawnego ustawienia wpisu PATH.

Wypróbowałem oba pliki ADB BUNDLE (plik .zip) i SDK (plik .tgz) z download page i ukończyłem wszystkie powyższe kroki, ale otrzymałem ten sam błąd.

Jestem na Ubuntu 12.04 LTS.

+1

Bieżący katalog nie znajduje się w '$ PATH'. – Santa

+0

echo $ PATH daje mi to:/usr/lib/lightdm/lightdm:/usr/local/bin:/usr/bin:/bin ---> Więc jak to ma znaczenie, jeśli bieżący katalog nie znajduje się w mojej zmiennej PATH. Komenda 'adb' powinna działać, jeśli znajduję się bezpośrednio w tym katalogu/folderze, nieprawdaż? –

+0

Po uruchomieniu takiego polecenia powłoka będzie szukała go tylko w '$ PATH'. Nie jest również domniemane, że przeglądany jest również katalog bieżący. Jeśli chcesz tego zachowania, musisz również dodać bieżący katalog ('.') do' $ PATH'. – Santa

Odpowiedz

1

Nie jestem pewien, co zrobiła ta linia i dlaczego musiałem to zrobić (ponieważ blogi mówią o niektórych 32-bitowych bibliotekach i jestem na 64-bitowej maszynie). Ale wydaje się, że działa dla mnie.

sudo apt-get install ia32-libs 

Kiedy wykonałem to polecenie, zainstalowałem/dodałem trochę rzeczy przez około 5 minut (dosłownie), a następnie wszystko działało.

Pozdrowienia, Rumit

+0

Dodaje to biblioteki pomocnicze potrzebne do uruchamiania programów 32-bitowych w 64-bitowym systemie Linux. –

+0

Wystąpił ten sam problem, ponieważ adb jest obecny, ale nie jest uruchamiany w instancji Docker systemu Ubuntu. To nie od razu rozwiązało problem, ale wskazało mi to we właściwym kierunku! –

25

Jesteś we właściwym katalogu, ale bieżący katalog nie znajduje się w ścieżce wyszukiwania poleceń powłoki.

Spróbuj

./adb 

szukaj także w Google jak ustawić zmienną $ PATH w bash

wpisz następujące polecenie w terminalu (z help.ubuntu.com URL) - będzie tymczasowo dodać android katalogi narzędzie do PATH dla tej muszli/terminalu

export PATH=${PATH}:~/android-sdk-linux/tools 
export PATH=${PATH}:~/android-sdk-linux/platform-tools 

teraz powinno być w stanie uruchomić adb (nie będąc w odpowiednim katalogu i bez użycia ./adb)

Jeśli dodasz te polecenia do .bashrc i uruchomisz nowy terminal/powłokę, powinieneś zauważyć, że te zmiany są teraz trwałe.

+0

echo $ PATH daje mi to:/usr/lib/lightdm/lightdm:/usr/local/bin:/usr/bin:/bin ---> Więc jak to ma znaczenie, jeśli bieżący katalog nie jest w mojej zmiennej PATH. Komenda 'adb' powinna działać, jeśli wykonuję ją bezpośrednio z tego katalogu/folderu, nieprawdaż? Wypróbowałem również "./adb", ale otrzymałem komunikat "Brak takiego pliku lub katalogu". Dodałem je do mojej PATH, ale nawet to nie działało. Po wszystkich zmianach ponownie uruchomiłem komputer i nadal mam te same problemy. –

+0

Brak bieżącego katalogu nie jest domyślnie w ścieżce wyszukiwania polecenia $ PATH. Możesz go dodać, ale generalnie jest to zły pomysł. – abasterfield

12

Upewnij się, że zainstalowane:

sudo apt-get install android-tools-adb 

Teraz sprawdź:

sudo adb 

To pokaże adb pomocy.

Teraz proszę zabić/rozpocząć adb.Użyj następujących poleceń:

sudo adb kill-server 
sudo adb start-server 

wreszcie zrobić:

sudo adb devices 

to powinno działać.

0

W folderze platform-tools „adb” dostępny jest następnie wykonaj następujące kroki:

Set android Vars

Początkowo iść do domu, a następnie naciśnij Ctrl + H pokaże ukryte pliki teraz szukać pliku .bashrc , otwórz go dowolnym edytorem tekstu, a następnie umieść poniższe wiersze na końcu pliku:

eksport ANDROID_HOME =/myPathSdk/android-sdk-linux export PATH = $ ŚCIEŻKA: $ ANDROID_HOME/tools: $ ANDROID_HOME/platform-tools

Ponownie uruchom system

To działa!