Adb Android sem permissão


33

Estou tentando usar o adb de uma máquina Ubuntu (+ Cinnamon). O problema é que recebo a seguinte mensagem de dispositivos adb :

List of devices attached
TA8830OIVO  no permissions

Onde TA8830OIVO é o meu dispositivo Motorola G.

Alterei as regras do Android em /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e76",
MODE="0666", GROUP="plugdev", SYMLINK+="android_adb", OWNER="axel"

Também reiniciei o serviço udev e o adb sendo instalado no meu laptop pessoal. Sou o único usuário com todas as privilégios necessários (grupo plugdev e assim por diante).

Existe uma maneira de executar o adb sem chamar o sudo ?


1
Reiniciar o udev e sudo udevadm triggernão funcionou para mim. Eu tive que reiniciar o computador e, em seguida, funcionou muito bem
Rafael Xavier

Respostas:


65

Mude o modo USB no seu telefone para Transferência de arquivos. Foi o que funcionou para mim.


O oposto é verdadeiro para mim: a depuração USB não funciona durante o modo de transferência de arquivos em alguns dispositivos antigos.
21718 Miha_x64

1
Atualização: observei que no meu telefone (Android One), a depuração USB também pode ser ativada no modo de carregamento nas Configurações do desenvolvedor.
NuttLoose 17/01

2
Mudar para o modo de transferência de arquivos funcionou para mim. No android 7
Abrar

Kindle Fire 8 2019 - "modo MTP", que está na configuração USB nas Opções do desenvolvedor.
Bill McGonigle

Eu mudei e fui solicitado no dispositivo para permitir a depuração usb: D
Maxwell sc

27
  1. Lembre-se de executar sudo udevadm triggerpara aplicar as alterações (ou reiniciar, mas qual é a graça nisso)?
  2. Em vez de escrever suas próprias regras, use https://github.com/M0Rf30/android-udev-rules
  3. Verifique se você possui a versão mais recente do ADB (1.0.35 102d0d1e73de-android). Os anteriores não funcionavam com USB-C para mim.

Obrigado, mas é uma pergunta meio antiga. Eu mudei para o Mac há 2 anos. Acho estúpido fazer coisas como o lsusb e modificar as regras quando isso deve ser feito automaticamente ... Desisti depois de tantos anos de uso do ubuntu. Não é possível encontrar um sistema Linux Desktop decente.
shadox

1
A pergunta tem 6 meses e ainda é válida para a posteridade. Há 1 ano, larguei o OS X depois de um caso de 3 anos e voltei ao Linux por razões semelhantes;). O Linux tem partes em que fica frustrante, mas há uma quantidade semelhante de ajustes necessários no OS X se você usar homebrew + zsh + iTerm2. A diferença é que, principalmente na versão de código-fonte fechado ou desatualizado do FOSS, mas com uma boa interface gráfica e UX (na maior parte). O uso das regras do repositório faz com que seja uma etapa de configuração única. Considerando os arcanos de fazer o SDK do Android funcionar de maneira sadia, é brincadeira de criança.
Zamber 10/04

1
Executando isso e service udev restartnão funcionou para mim. Eu tive que reiniciar o computador e funcionou muito bem.
Rafael Xavier

No ubuntu 16.04, definir as regras do udev, alterar o modo usb no telefone para transferir arquivos funcionou como um encanto. Não é necessário reiniciar.
Gautam

No ubuntu 16.04 com um Pixel 2, adicionar as regras do gitbub do ponto 2 funciona sem sequer entrar no modo de transferência de arquivos.
9788 Mike Hanafey #

3

Se você reiniciar o servidor ADB com o sudo, ele funcionará.

sudo adb kill-server
sudo adb start-server

0

Defina a função de gradle personalizada:

task _adb_restart {
def adb = android.getAdbExe().toString()
group '__custom'
  doLast {
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' kill-server'
    }
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' devices'
    }
  }
}

0

A melhor solução e o que funcionou melhor para mim é instalar a adbpartir do pacote Ubuntu. Isso fornece um conjunto de udevregras padrão mantido pela comunidade para todos os dispositivos Android.

exemplo:

$ sudo apt-get install adb

0

Para o Amazon Fire OS 8, um sistema operacional Android, você pode ir para "Configurações> Opções de dispositivo> Opções de desenvolvedor". Você pode precisar ativá-lo .

Verifique se a "Depuração USB" está ativada (no seu caso).

Em seguida, vá para "Rede> Selecionar configuração USB". Escolha "MTP (Media Transfer Protocol)". Isso permite que o computador envie e para trás arquivos.


0

remover o pacote adb instalado via apt

$sudo apt remove adb

baixe o adb mais recente em
https://developer.android.com/studio/releases/platform-tools

defina o caminho para as ferramentas da plataforma (é melhor colocar essas duas linhas no arquivo ~ / .bashrc)

export PATH= /<path-to-android-sdk-folder>/android-sdk/tools/bin<br>
export PATH= /<path-to-android-sdk-folder>/android-sdk/platform-tools

corre

$source ~/.bashrc

verifique o caminho adb

$which adb

inicie o adb no sudo (eu precisava fornecer o caminho absoluto para o adb ao executar no sudo)

$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb kill-server
$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb start-server
$adb shell

FEITO.
funciona independentemente do modo USB (MIDI, transferência de arquivos, carregamento) do telefone Android. Funciona em todos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.