O ADB precisa do root após a atualização para o Android 5.1.1

1

Estou criando o Android a partir do código-fonte para instalar o sistema de arquivos personalizado da minha empresa (Datalight Reliance Nitro). Estou usando um PC Ubuntu 12.04 como meu dispositivo host e um Nexus 7 (flo) como meu dispositivo Android. Eu segui as instruções para configurar o sistema host, incluindo a configuração do arquivo / etc / udev / rules .d / 51-android.rules.

Eu estava desenvolvendo o Android 4.4.3, e o ADB funcionou bem como esperado. (Não há necessidade de privilégios de sudo.)

No entanto, quando eu criei e instalei o Android 5.1.1, de repente, o ADB reclama:

$ adb devices
List of devices attached 
????????????    no permissions

Eu tentei vários mods adicionais no meu arquivo 51-android.rules, mas não obtive sucesso. Seguindo as instruções do CyanogenMod sobre o tópico , eu finalmente executei o servidor ADB no sudo, e isso funcionou. Mas estou me perguntando por quê. Como a versão do Android pode afetar os privilégios que o ADB precisa? Ou estou possivelmente ignorando algo completamente diferente?

    
por Aaron Campbell 10.08.2015 / 22:01

1 resposta

0

Você precisa adicionar seu ID de dispositivo às regras. Ligue o seu dispositivo através de USB. Faça lsusb e procure seu dispositivo. Você receberá algo como

Bus 003 Device 048: ID 18d1:4ee7 Google Inc. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Em seguida, adicione a linha em /etc/udev/rules.d/51-android.rules semelhante a outros, mas com idVendor (neste exemplo, '18d1') e idProduct (aqui '4ee7')

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0600", OWNER="{same as others}"

então

sudo udevadm control --reload-rules
    
por Askar Timirgazin 08.11.2015 / 13:37