GNU/Linux >> Tutoriales Linux >  >> Linux

Android:la tableta Android i.onik sin nombre no es reconocida por adb:los dispositivos adb están vacíos

La respuesta de Izzy es engañosa. Se mezclaron dos cosas no relacionadas (la lista de ID de proveedores en adb por un lado y la configuración de permisos en Linux por el otro).

1) dispositivos considerados por adb:

Adb tiene una lista codificada de ID de proveedores de USB que prueba. P.ej. Los teléfonos móviles HTC usan 0xbb4, que se encuentra en la lista (archivo fuente usb_vendors.c), mientras que 0x2207 no lo está.

El único La forma de agregar a esta lista (sin parchear la fuente) es poner los ID de proveedores en el archivo $HOME/.android/adb_usb.ini , linea por linea. (HOME está configurado, ¿verdad?)

No se necesita ningún cable especial.

2) configuración de permisos para acceso no root:

El violín de udev es dar acceso de usuario a, p. /dev/bus/usb/002/009 (cambio de número de bus/número de dispositivo; consulte lsusb para los valores actuales).

Los detalles de esto no son relevantes para la pregunta del autor original, ya que ejecutó adb como root.


Como se describe en Configuración de ADB para Nexus 4 en Ubuntu 11.10, en Linux es importante figurar en ~/.android/adb_usb.ini (basado en el usuario) o /etc/udev/rules.d/51-android.rules . La sintaxis de ambos archivos difiere:mientras que en el primer caso es suficiente simplemente agregar la identificación del proveedor (echo 0x18d1 >> ~/.android/adb_usb.ini para un Nexus 4), la entrada de la regla UDEV es un poco más compleja. Los detalles se pueden encontrar en la pregunta vinculada (o más bien en sus respuestas).

En el caso de krlmlr, no era un "o esto o lo otro", pero aparentemente se necesitaban ambas partes (nunca tuve eso antes, y nunca usé el adb_usb.ini -- pero eso no significa que no haya tales excepciones). Al agregar el dispositivo en ambos lugares (que de todos modos no puede doler), el dispositivo finalmente apareció.

Dos comentarios adicionales:después de cambiar las reglas de UDEV, el servicio UDEV debe reiniciarse para aceptar los cambios. En Ubuntu, esto se puede hacer a través de sudo service udev restart (Alternativamente, puede simplemente obligar a UDEV a recargar sus reglas usando udevadm control --reload-rules ). Si aún no se detecta su dispositivo, lo más probable es que se haya conectado mientras realizaba los cambios; necesita desconectar y volver a conectar el cable USB entonces. Por supuesto, Depuración USB debe estar habilitado en su dispositivo :)

Ejemplo

Basado en la siguiente salida de lsusb para el dispositivo Android en cuestión:

Bus 002 Device 009: ID 2207:0010  

era necesario crear /etc/udev/rules.d/51-android.rules como root con los siguientes contenidos:

SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", MODE="0660", GROUP="plugdev"

y para crear ~/.android/adb_usb.ini con los siguientes contenidos:

0x2207

El primero es necesario para permitir a los usuarios normales (que pertenecen al grupo plugdev ) para acceder al dispositivo. Tenga en cuenta la máscara de permiso 0660 en lugar del frecuente 0666 que es más débil desde el punto de vista de la seguridad (este último permite el acceso "mundial", mientras que el primero solo permite el acceso de "usuario y grupo"). El segundo es necesario para que adb intenta hablar con el dispositivo en primer lugar. Después de eso:

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server

y desconecta y conecta tu dispositivo Android. Entonces,

adb devices

finalmente mostró el dispositivo Android.

Para mi LG Optimus 4X HD , fue suficiente agregar una línea a /etc/udev/rules.d/51-android.rules :

SUBSYSTEMS=="usb", ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61a6", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"

Tal vez el SYMLINK La opción hace la diferencia de que no necesitaba la entrada adicional en ~/.android/adb_usb.ini .


Linux
  1. Linux – Configuración no válida `x86_64′:¿Máquina `x86_64′ no reconocida?

  2. Instalación de Grub 2 en Mdadm, ¿qué dispositivo?

  3. Adb de Android no encontrado

  4. Dispositivo Android Debug Bridge (adb):sin permisos

  5. sshpass no se reconoce en Windows

Comando Lsblk en Linux (Lista de dispositivos de bloque)

Termux:ejecute Linux en dispositivos Android, ¡no se requiere enraizamiento!

Cómo detectar y administrar dispositivos en Linux

losetup:comando no encontrado

¿Cómo iniciar un emulador de Android en ubuntu 16.04?

dd en todo el disco, pero no quiero una porción vacía