2012-02-24 10 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 

existe BAD en /home/lubuntu/Tools/android-sdk-linux/platform-tools

Luego ejecuté adb start-server:

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

Entonces sudo adb install test.apk

sudo: adb: command not found 

He añadido adb en la variable de entorno $ PATH, b ut sudo no pudo encontrarlo. ¿Por qué?

Respuesta

6

sudo significa que está cambiando a la raíz, y eso no significa necesariamente que su entorno se presente. Eso podría ser peligroso.

A su riesgo, agregue la opción -E para heredar el entorno de llamadas.

+0

THX, he probado opción '-E', pero también falló,' sudo -E ADB instalar temp.apk' ==> 'sudo: adb: comando no encontrado', ¿no funciona '-E' para' sudo '? – Searene

+0

del hombre sudo: La opción -E (preservar el entorno) anulará la opción env_reset en sudoers (5)).Solo está disponible cuando el comando correspondiente tiene la etiqueta SETENV o la opción setenv está configurada en sudoers (5). – lamplightdev

2

Dado que está ejecutando adb como root en el segundo ejemplo, adb también debería estar en la ruta raíz.

2

completamente de acuerdo con la respuesta de @unwind.
No debe hacer esto usando "sudo".
Pruébalo sin sudo y supongo que funcionaría para ti.

Además, debe agregar la ruta a la carpeta denominada "herramientas" presente en el SDK, aunque no está relacionada con su problema, sino con una sugerencia.

5

El problema es que la ruta PATH está establecida para ese usuario, y la raíz no tiene la entrada de PATH adicional, por lo que no puede encontrar el programa.

Usted debe ADB configuración de raíz también:

adb variables ambientales

abierto ~/.bashrc y añadir lo siguiente a la parte inferior

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

Cambio <sdk> a la ruta real. es decir, /home/user/android-sdk-linux Cierre y vuelva a abrir su terminal para actualizar las variables.

de adb setup

Si no funciona, crea enlaces simbólicos de ADB y otros binarios en/usr/local/bin

2

completamente de acuerdo.

El problema era la herramienta de línea de comandos de Android Debug Bridge (adb) que no estaba vinculada a la ruta de acceso. Después de configurarlo en el camino, funcionó para mí.

$ gedit ~/.bashrc 

establecer la ruta de la siguiente manera en el .bashrc

export PATH=${PATH}:~/adt-bundle/tools 
export PATH=${PATH}:~/adt-bundle/platform-tools 
Cuestiones relacionadas