2012-02-24 19 views
6
sudo echo $PATH 

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/lubuntu/Tools/android-sdk-linux/platform-tools 

adb istnieje w /home/lubuntu/Tools/android-sdk-linux/platform-tools

Potem wykonywane adb start-server:

* daemon not running. starting it now on port 5037 * 
* daemon started successfully * 

Następnie sudo adb install test.apk

sudo: adb: command not found 

Dodałem adb w zmiennej środowiskowej $ PATH, b ut sudo nie może go znaleźć. Dlaczego?

Odpowiedz

6

sudo oznacza, że ​​przechodzisz na root, a to nie musi oznaczać, że Twoje środowisko się pojawi. To może być niebezpieczne.

Na ryzyko dodaj opcję -E, aby dziedziczyć środowisko wywołujące.

+0

thx, ja testowałem '-E' opcja, ale również nie,' sudo -E adb zainstalować temp.apk' ==> "sudo: adb: command not found', doesnt" -E "opcja działa dla" sudo "? – Searene

+0

od man sudo: Opcja -E (zachowaj środowisko) zastąpi opcję env_reset w sudoers (5)).Jest dostępny tylko wtedy, gdy polecenie dopasowujące ma znacznik SETENV lub opcja setenv jest ustawiona w sudoers (5). – lamplightdev

2

Ponieważ w drugim przykładzie używasz adb jako root, adb również musi znajdować się na ścieżce katalogu głównego.

2

całkowicie zgadzam się z odpowiedzią @unwind.
Nie wolno tego robić za pomocą "sudo".
Spróbuj bez sudo i myślę, że to zadziała.

Powinieneś również dodać ścieżkę do folderu o nazwie "narzędzia" obecnego w sdk, ale nie jest to związane z twoim problemem, ale sugestią.

5

Problem polega na tym, że dla tego użytkownika ustawiono zmienną PATH, a katalog główny nie ma pozycji PATH, więc nie może znaleźć programu.

Powinieneś setup adb root też:

ADB Zmienne środowiskowe

Otwarte ~/.bashrc i dodać następujące samym dole

export PATH=${PATH}:<sdk>/tools:<sdk>/platform-tools 

Zmian <sdk> do rzeczywistej ścieżki. tj. /home/user/android-sdk-linux Zamknij i ponownie otwórz terminal, aby odświeżyć zmienne.

z adb setup

Jeśli nie działa, sprawdź linki symboliczne z ADB i innych plików binarnych do/usr/local/bin

2

Całkowicie zgadzam.

Problemem było narzędzie wiersza poleceń systemu Android Debug Bridge (adb), które nie było powiązane ze ścieżką. Po ustawieniu go na ścieżce zadziałało to dla mnie.

$ gedit ~/.bashrc 

ustawić ścieżkę w następujący sposób w .bashrc

export PATH=${PATH}:~/adt-bundle/tools 
export PATH=${PATH}:~/adt-bundle/platform-tools 
Powiązane problemy