2012-02-19 27 views
8

Otros pueden haber tenido problemas con la depuración de adb bajo ubuntu linux.Cómo conectar dispositivos Android con adb bajo ubuntu

El síntoma es la disponibilidad de dispositivos Android conectados por USB, p. con eclipse. Usted puede probar esto con

adb usb 

Al llegar

error: insufficient permissions for device 

que probablemente se encuentra con el mismo problema que yo. Sin embargo, encontré en Internet algunas soluciones más o menos óptimas

La idea básica es comenzar adb como root. Las soluciones que encontré fueron engorrosas.

Una propuesta es comenzar adb per sudo. Otra propuesta fue configurar un script de arranque en /etc/init.d

Mi solución es dar permiso a adb para que inicie como root. Para ello, cambie a raíz

sudo bash 
chown root adb 
chmod ug+s-w adb 

fanáticos de seguridad pueden proponer

sudo chown root adb 
sudo chmod ug+s-w adb 

Si ADB ya está en ejecución que necesita para matar al demonio para comenzar con permisos de root

adb kill-server 

Cuando todo fue a la derecha

adb usb 

debe devolver

restarting in USB mode 

si no, pruebe lsusb º comprobación de si el dispositivo ya está conectado

+0

Por favor, no hacen esto! Los autores del programa adb no pretendían que su máquina de desarrollo se ejecutara como root, sino que utilizaran una regla udev para permitir el acceso solo a los tipos de dispositivos enumerados. ¡Confiar en un programa más de lo que recomiendan sus autores es una mala idea! Además, vota para cerrar ya que no hay una pregunta en realidad, mientras que el tema ya ha sido cubierto en numerosas ocasiones. –

Respuesta

11

El Google manera de tratar con los permisos del dispositivo ADB recomendado es crear una regla UDEV que establecer los permisos apropiados en el dispositivo enumeración.

Según http://developer.android.com/tools/device.html

Si está desarrollando en Ubuntu Linux, es necesario agregar un archivo de reglas udev que contiene una configuración USB para cada tipo de dispositivo que desea utilizar para el desarrollo. En el archivo de reglas, cada fabricante de dispositivo se identifica mediante una identificación de proveedor única, como se especifica en la propiedad ATTR {idVendor} . Para obtener una lista de ID de proveedores, consulte ID de proveedores de USB, a continuación. Para configurar la detección del dispositivo en Ubuntu Linux: Inicie sesión como root y cree este archivo: /etc/udev/rules.d/51-android.rules. Utilice este formato añadir cada proveedor en el fichero: SUBSISTEMA == "usb", ATTR {idVendor} == "0BB4", MODE = "0666", GROUP = "plugdev"

En este ejemplo, el la identificación del proveedor es para HTC. La asignación MODE especifica los permisos de lectura/escritura, y GROUP define qué grupo Unix posee el nodo del dispositivo. Nota: La sintaxis de la regla puede variar levemente según su entorno. Consulte la documentación de udev para su sistema según sea necesario.Para obtener una descripción general de la sintaxis de reglas, consulte esta guía de escribiendo las reglas de udev. Ahora ejecute: chmod a + r /etc/udev/rules.d/51-android.rules Cuando se conecta a través de USB, puede verificar que su dispositivo esté conectado mediante la ejecución de dispositivos adb desde su SDK platform-tools/directory. Si está conectado, verá el nombre del dispositivo listado como un "dispositivo".

2

uso siguientes tres comandos sus obras para mí

sudo bash 
adb kill-server 
adb usb 
+1

-1 No ejecute adb como root –

Cuestiones relacionadas