configurar o dispositivo para desenvolvimento (????????????? sem permissões)

282

Estou usando um telefone Samsung Galaxy Nexus ( plataforma Android 4.0 ).

Estou desenvolvendo um aplicativo Android no Ubuntu Linux OS. Gostaria de executar meu aplicativo diretamente no dispositivo celular Samsung, por isso executei as seguintes etapas de configuração:

  1. no meu AndroidManifest.xmlarquivo de projeto , adicionado android:debuggable="true"ao <application>elemento

  2. No dispositivo, em Configurações> Fontes desconhecidas ativadas

  3. No dispositivo, em Configurações> Opções do desenvolvedor ativou a depuração USB

  4. No meu computador, criei o /etc/udev/rules.d/51-android.rulesarquivo com o seguinte conteúdo:

    SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev" 
  5. No meu computador, execute o chmod a+r /etc/udev/rules.d/51-android.rulescomando

Então, no meu computador, abri um terminal e executei o adb devicescomando, obtive:

List of devices attached 
????????????    no permissions

Como não vi meu dispositivo, mas apenas ???????????? no permissions, executei os seguintes comandos:

 adb kill-server
 adb start-server
 adb devices

Mas eu ainda tenho:

List of devices attached 
????????????    no permissions

Por quê? o que estou perdendo?

Leem.fin
fonte
depois de executar o adb kill-server, você recebeu a mensagem de que * daemon não estava em execução. começando agora na porta 5037 * * daemon iniciado com êxito * --- se não experimentá-lo até u obter esta msg
Andro Selva
2
Tente verificar se seu usuário está em plugdevgrupo.
Sergey Glotov 9/02/2012
2
Execute => sudo adb start-server (Use o acesso root para executar o adb)
Confuso
finalmente encontrei a solução que funcionou para mim neste link github.com/snowdream/51-android
Abdulrahman Gamal

Respostas:

451

O que funciona para mim é matar e iniciar o servidor adb novamente. No linux: sudo adb kill-servere depois sudo adb start-server. Em seguida, ele detectará quase todos os dispositivos prontos para uso.

WarrenFaith
fonte
1
Eu uso o root para executar o comando "adb devices" em <android-SDK> / platform-tool /, recebi "Nenhum comando 'adb' encontrado", por quê?
Leem.fin
8
verifique se o seu adb recebeu + x -rwxrwxr-x 1 martin martin 156K 2011-11-09 15:40 adb. Tente ir diretamente para o diretório e comece por "sudo ./adb devices". Se você pode executar que sem sudo, você deve ser capaz de executá-lo com sudo ... Não tenho a certeza que o seu problema pode ser ...
WarrenFaith
8
Você não precisa executar o adb como root se suas permissões do udev estiverem definidas corretamente. Veja a resposta dos grebulons abaixo ou consulte a documentação do Android: developer.android.com/tools/device.html
gnac
4
Uma sugestão importante é desconectar o cabo USB, para que você redefina o ADB, conecte o cabo e ele funcione. Na minha situação, enquanto eu fazia o procedimento com o cabo conectado, ele não funciona para mim.
Androidevil 17/11/2013
6
E os comandos são: adb kill-server sudo adb start-serverpara verificar:adb devices
Asim
350

Nada funcionou para mim até que finalmente encontrei a resposta aqui: http://ptspts.blogspot.co.il/2011/10/how-to-fix-adb-no-permissions-error-on.html

Estou copiando o texto aqui, caso ele desapareça no futuro.

Crie um arquivo chamado /tmp/android.rules com o seguinte conteúdo (os números hexadecimais do fornecedor foram obtidos na página da lista de fornecedores):

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1bbb", MODE="0666"

Execute os seguintes comandos:

sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules
sudo chmod 644   /etc/udev/rules.d/51-android.rules
sudo chown root. /etc/udev/rules.d/51-android.rules
sudo service udev restart
sudo killall adb

Desconecte o cabo USB entre o telefone e o computador.

Reconecte o telefone.

Corre adb devices para confirmar que agora ele tem permissão para acessar o telefone.

Observe que é possível usar em , USER="$LOGINNAME"vez de , MODE="0666"no .rulesarquivo, substituindo o $LOGINNAMEseu nome de login, ou seja, o queid -nu impresso.

Em alguns casos, pode ser necessário atribuir ao arquivo de regras do udev um nome que seja classificado próximo ao final, como z51-android.rules.

grebulon
fonte
7
Nota: para o Ubuntu Precise, o nome do arquivo é 70-android.ruleseste post: esausilva.com/2010/05/13/… . Também parabéns por nos informar que você precisa reiniciar udeve eliminar todos os processos adb. Trabalhou como um encanto!
Eduard Luca
Uma abordagem semelhante é documentada oficialmente em developer.android.com/tools/device.html
bjunix
4
Isso funcionou bem, mas, como observado por @luciana em outra resposta, pode ser necessário sudo udevadm control --reload-rulesatualizar as regras do udev se a reinicialização do servidor não for suficiente.
21118 serjlee # 1754
4
Este deve ser marcado como a resposta correta, como adb-ing sudo não deve ser um requisito para Linux
Zac
1
Esta é a única resposta correta aqui. Obrigado por isso! Além disso, podemos ver a saída lsusb para garantir que o fornecedor necessário esteja incluído. O mais estranho é que apenas um dos meus dispositivos (OnePlus One) parou de funcionar após a atualização para o Android 7.1.2 (mesmo quando executado adb como root), depois de adicionar as regras do udev conforme descrito acima, ele funciona novamente.
precisa saber é o seguinte
77

Digite os seguintes comandos:

adb kill-server sudo ./adb start-server adb devices

O problema é que você não está executando o servidor adb como root.

iancrowther
fonte
4
Embora a ideia seja a mesma da resposta aceita, essa só me ajudou, devido ao exemplo fornecido. Graças
user907860
1
@ user907860 é realmente melhor do que a resposta aceita porque explica por que você deve escrever sudo :) (o que eu não fiz quando vi a resposta aceita)
stan0
btw alguma idéia por que adb deve estar sendo executado como root?
usar o seguinte comando
desculpe não, eu não lembro
iancrowther
2
O adb NÃO deve estar sendo executado como root. Se isso for necessário, seu sistema está configurado incorretamente. Pare de jogar "sudo" na frente de tudo, isso tem enormes implicações de segurança.
hackel 01/09/2015
55

Tentei tudo acima, nenhum funcionou .. finalmente funcionou quando troco conectado como MTP para câmera (PTP).

Sabeer Mohammed
fonte
3
Para aqueles que querem saber como fazer isso ... Configurações do sistema> Armazenamento> Parte superior direita do botão: conexão USB do computador> Conectar como Select Camera (PTP) em vez de dispositivo de mídia (MTP)
Thaddeus Albers
3
homem, eu estava olhando para a solução como duas horas, isso funciona para mim no Ubuntu 16.04, graças
Jorius
essa deve ser a primeira coisa a verificar. Funciona para mim
m50
32

Há muitas respostas ruins postadas nesta pergunta, desde insistir em executar adbcomoroot (que não deve ser apontado como a única ou até mesmo recomendada solução) a resolver problemas completamente não relacionados.

Aqui está a receita mais curta e universal para cuidar de permissões para todos adbe fastbootdispositivos de uma só vez:

echo 'ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:ff420?:*", MODE="0666"' | sudo tee /etc/udev/rules.d/99-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --verbose --action=add --subsystem-match=usb

Ou você pode usar uma versão um pouco mais longa que eu publiquei nesta essência .

Quanto à coisa específica que o OP fez de errado em sua pergunta - não foi recarregada as udevregras depois de editar o.rules arquivo.

O OP também não informou qual versão do Android (ROM) ele tinha em seu telefone. O idVendorvalor é definido no software e, portanto, depende da ROM. Portanto, o valor que 04E8ele usou em sua regra original teria funcionado apenas para dispositivos com ROMs de ações da Samsung. Mas isso não é um problema para esta udevregra - ela corresponde a todos os dispositivos adbou fastbootinterfaces, independentemente do seu Código de Fornecedor .

Alex P.
fonte
O único passo que falta para vê-lo funcionar é o servidor de adb kill antes dos dispositivos adb.
Mstrange #
1
Parece que isso não funciona mais no Android 8.1. Como você descobriu quais relatórios adb como ID do dispositivo?
Cachapa
Trabalhou para mim no Android 7.1.2
Amerzilla 16/01
@Cachapa, funciona com todas as versões do Android. Mesmo o mais recente (no momento da me escrevendo este) Android P Preview 4 usa os IDs de interface mesmo ADB - android.googlesource.com/platform/system/core/+/...
Alex P.
ainda funciona com o Android 11 android.googlesource.com/platform/system/core/+/…
Alex P.
16

No Archlinux, isso pode acontecer ocasionalmente. O conserto:

$ sudo -s
# adb kill-server
# adb start-server
Keenan Verbrugge
fonte
Não tenho certeza se essa foi a única coisa que fez funcionar ... Tentei as coisas acima. Mas sem este post, o ubuntu no VBox não autorizou meu LG G3. Obrigado Keenan
lastboy 17/11/2015
Não sei por que, mas sudo adb kill-server; sudo adb start-servernão funcionou, mas este funcionou.
Hritik
9

Para aqueles que usam o debian, o guia para configurar um dispositivo no Ubuntu para criar o arquivo "/etc/udev/rules.d/51-android.rules" não funciona. Eu segui as instruções daqui . Colocando o mesmo aqui para referência.

Edite este arquivo como superusuário

sudo nano /lib/udev/rules.d/91-permissions.rules

Encontre o texto semelhante a este

# usbfs-like devices 
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0664

Então mude o modo para 0666 como abaixo

# usbfs-like devices 
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0666

Isso permite que o adb funcione, no entanto, ainda precisamos configurar o dispositivo para que ele possa ser reconhecido. Precisamos criar esse arquivo como superusuário,

sudo nano /lib/udev/rules.d/99-android.rules

e entre

SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, ATTRS{idVendor}==”0bb4″, MODE=”0666

a linha acima é para HTC, siga a publicação de @ grebulon para obter a lista completa.

Salve o arquivo e reinicie o udev como superusuário

sudo /etc/init.d/udev restart

Conecte o telefone via USB e ele deve ser detectado quando você compila e executa um projeto.

jaga
fonte
5

Eu tive o mesmo problema, a solução é a mesma: (a propósito, você não precisa fazer o root no seu dispositivo).

  1. Digite "su" para mudar para superusuário.
  2. seu-path / adb kill-server.
  3. seu caminho / adb start-server.
  4. Se nenhum erro ocorrer, você poderá ver a lista de dispositivos com "your-path / adb devices" na conta raiz.
  5. Saia do superusuário.
  6. Agora você pode executar "dispositivos adb" em sua conta.

Aproveitar.

Jeffrey Yang
fonte
1
Caso não consiga fazer login usando su, use sudo su. Eu fiz. E também, se você não souber sair do usuário - use exit.
Pijusn
4

Sei que isso pode ser um pouco tarde, mas aqui está um artigo muito bom sobre como adicionar manualmente o driver USB do Android ADB. Adicionando manualmente o driver USB do Android ADB no Ubuntu 14.04 LTS

Editado para adicionar conteúdo do link

Passos

Nota: verifique se você conectou seu dispositivo Android no modo de depuração USB

Abra o terminal ( CTRL + ALT + T) e digite o comando: lsusb

Agora você pode obter uma resposta semelhante a isso:
Bus 002 Device 013: ID 283b:1024

Nota: Com referência a esteBus 002 Device 008: ID 283b:1024
{idVendor}==”283b” {idProduct}==”1024″

Agora digite o seguinte comando: sudo gedit /etc/udev/rules.d/51-android.rules
Isso cria o arquivo de regras do Android ( 51-android.rules) ou abre o existente no local especificado ( /etc/udev/rules.d)

Adicione uma nova linha a este arquivo:
SUBSYSTEM==”usb”, ATTRS{idVendor}==”283b”, ATTRS{idProduct}==”1024″, MODE=”0666″

Nota Edite idVendore idProductvalores com os valores do seu dispositivo. Salvar e fechar.

Agora digite o seguinte comando:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules - conceda permissão de leitura / execução
sudo service udev restart- reinicie o udevserviço

Agora temos que adicionar o idVendorpara adb_usb.ini. Digite os seguintes comandos:
cd ~/.android
gedit adb_usb.ini

Adicione o seguinte valor 0x283b

Isso não passa de 0x (idVendor valor). Então substitua o valor por. em relação ao valor do seu dispositivo Salve e feche o arquivo.

Agora digite o seguinte comando:
sudo service udev restart

Conecte o dispositivo Android e reconecte-o novamente.
Agora digite o seguinte comando:
adb kill-server
adb devices

Ai está! O seu dispositivo deve estar listado.

Copiado de adição manual do driver USB do Android ADB no Ubuntu 14.04 LTS

Trabalhou para mim.

dc-aoxn
fonte
4

Eu tive o mesmo problema com o meu Galaxy S3. Meu problema era que o idVendorvalor 04E8não era o correto. Para encontrar o caminho certo, conecte seu smartphone ao computador e execute-o lsusbno terminal. Ele listará seu smartphone assim:

Bus 002 Device 010: ID 18d1:d002 Google Inc.

Então o idVendorvalor certo é 18d1. E a linha no /etc/udev/rules.d/51-android.rulesdeve ser:

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" 

Então eu corro sudo udevadm control --reload-rulese tudo funcionou!

Ulli
fonte
1
Talvez você quis dizer:ATTR{idVendor}=="18d1"
Tanasis
3

Use a M0Rf30/android-udev-rulescomunidade GitHub mantida regras udev

https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules

Esta é a lista mais completa de regras do udev que eu vi até agora, ainda mais do que a atualmente recomendada sudo apt-get install android-tools-adb na documentação oficial , e resolveu esse problema para mim.

Ciro Santilli adicionou uma nova foto
fonte
1
por que se preocupar em "manter a lista" quando uma única regra funciona para todos? stackoverflow.com/a/45006231/1778421
Alex P.
@AlexP. obrigado eu não sabia sobre esse método. Alguma idéia de por que o guia oficial não recomenda isso?
Ciro Santilli escreveu
Por causa da preguiça e inércia do conhecimento, principalmente. Os desenvolvedores originais do Android usavam dispositivos com o mesmo ID de fornecedor, para que adotassem a abordagem mais fácil possível. Quando mais fornecedores criaram mais dispositivos - os desenvolvedores continuaram adicionando mais IDs ao arquivo de regras.
Alex P.
2
  1. Siga as instruções em http://developer.android.com/guide/developing/device.html (link arquivado)
  2. Substitua o ID do fornecedor 0bb4por 18d1em/etc/udev/rules.d/51-android.rules

    Ou adicione outra linha que leia:

    SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
  3. Reinicie o computador ou apenas reinicie o serviço udev.
Krishnendu
fonte
1

Quando você reiniciar o udev, mate o servidor adb e inicie o servidor adb no caminho da instalação do android sdk e faça tudo no sudo. em seguida, execute dispositivos adb que resolverão o problema de permissão.

Chinthaka Senanayaka
fonte
1

Meu dispositivo é POSITIVO e meu sistema operacional é Ubuntu 14.04 LTS Então, meu problema estava no nome da variável

Eu crio o arquivo /etc/udev/rules.d/51-android.rules e coloco SUBSYSTEM=="usb", SYSFS{idVendor}=="1662", MODE="0666"

Desconectei o dispositivo e executei:

$ sudo udevadm control --reload-rules
$ sudo service udev restart

Depois disso, conectei o dispositivo Android no modo de desenvolvedor novamente e

$ adb devices

List of devices attached 
1A883XB1K   device
Luciana
fonte
1

Sem desconectar

Todas as respostas fornecidas pressupõem que você pode desconectar e reconectar o cabo USB. Em situações em que isso não é possível (por exemplo, quando você é remoto), você pode fazer o seguinte para essencialmente fazer o que as regras sugeridas do udev fariam ao reconectar:

lsusb

Encontre o dispositivo de que você gosta, por exemplo:

Bus 003 Device 005: ID 18d1:4ee4 Google Inc. Nexus

Anote o número do barramento em que está ativado e execute, por exemplo, para o barramento 003:

sudo chmod a+w /dev/bus/usb/003/*

Claramente, isso pode ser mais permissivo do que você deseja (pode haver mais dispositivos conectados do que apenas este), mas você entendeu.

Christian Fritz
fonte
Para aplicar a nova udevregra sem reconectar o dispositivo, basta usar o udevadm trigger --verbose --action=add --subsystem-match=usbcomando
Alex P.
1

Você NÃO deve executar o adbservidor como root, como sugerem outras respostas. Em vez disso, se você estiver usando o Arch Linux, faça o seguinte:

  1. Instale o android-udevpacote com Pacman
  2. Recarregar regras do udev:

    # udevadm control --reload-rules
  3. Adicione-se ao adbusersgrupo e efetue logout e login:

    # usermod -aG adbusers $LOGNAME

Fonte: https://wiki.archlinux.org/index.php/android#Configuring_adb

Babken Vardanyan
fonte
0

Tente em vez de GROUP="plugdev"usar o grupo principal do seu usuário.

Yury
fonte
Eu estou usando meu nome de usuário, isso não ajuda
Leem.fin
0

No meu caso no ubuntu 12.04 LTS, tive que mudar meu modo usb HTC Incredible de charge para Media e, em seguida, o dispositivo apareceu sob adb. Obviamente, a depuração já estava ativada nos dois casos.

Alan
fonte
0

Por favor, NÃO seguir soluções que sugerem a utilizaçãosudo (sudo adb start-server )! Este adb é executado como root (administrador) e NÃO deve ser executado assim !!! É uma solução ruim MAU !

Tudo o que é executado como root pode fazer qualquer coisa no seu sistema, se ele criar ou modificar um arquivo, poderá alterar sua permissão para ser usado apenas pelo root. Mais uma vez, NÃO!

A coisa certa a fazer é configurar seu sistema para fazer com que o USUÁRIO tenha permissão, confira este guia que escrevi sobre como fazê-lo corretamente.

Daniele Segato
fonte
0

Eu tive o mesmo problema e segui estas etapas:

# Clone this repository
git clone https://github.com/M0Rf30/android-udev-rules.git
cd android-udev-rules
# Copy rules file
sudo cp -v 51-android.rules /etc/udev/rules.d/51-android.rules
# OR create a sym-link to the rules file - choose this option if you'd like to update your udev rules using git.
sudo ln -sf "$PWD"/51-android.rules /etc/udev/rules.d/51-android.rules
# Change file permissions
sudo chmod a+r /etc/udev/rules.d/51-android.rules
# If adbusers group already exists remove old adbusers group
groupdel adbusers
# add the adbusers group if it's doesn't already exist
sudo mkdir -p /usr/lib/sysusers.d/ && sudo cp android-udev.conf /usr/lib/sysusers.d/
sudo systemd-sysusers # (1)
# OR on Fedora:
groupadd adbusers
# Add your user to the adbusers group
sudo usermod -a -G adbusers $(whoami)
# Restart UDEV
sudo udevadm control --reload-rules
sudo service udev restart
# OR on Fedora:
sudo systemctl restart systemd-udevd.service
# Restart the ADB server
adb kill-server
# Replug your Android device and verify that USB debugging is enabled in developer options
adb devices
# You should now see your device

Os passos acima estão descritos em android-udev-rules . Funcionou para mim.

Apenas certifique-se de confirmar a caixa de diálogo que será exibida na tela do telefone após a reinicialização.

leosbrf
fonte
0
sudo usermod -aG plugdev $LOGNAME

Este comando funcionou para mim

Fayaz
fonte
-1

Eu usei su e ele começou a funcionar. Quando uso o Jetbrains com usuário comum, vejo esse problema, mas após reiniciar o Jetbrains no modo su, posso ver meu dispositivo sem fazer nada.

Estou usando o Ubuntu 13.04 e o Jetbrains 12.1.4

Deepti Kohli
fonte
-1

Você também pode tentar editar o arquivo adb_usb.ini , localizado em /home/username/.android/ . Este arquivo contém a lista de fornecedores de identificação de dispositivos que você deseja conectar. Você acabou de adicionar o fornecedor de identificação do seu dispositivo na nova linha (é uma identificação por linha). Em seguida, reinicie o servidor adb e reconecte seu dispositivo.

Funcionou para mim no Ubuntu 12.10.

10101101
fonte
-1

Enfim, o que eu fiz para resolver esse problema (no Ubuntu ).

  1. Definido em quais casos eu preciso executar esses comandos. Para a maioria dos usuários do Ubuntu, há uma pasta inicial (arquivo oculto .bashrc).

    No qual você pode gravar o lançamento desses comandos. Mas esses comandos serão acionados quando você digitar o bashcomando no console.

  2. Como eu tenho um shell .zshrc, fiz o seguinte:

    console aberto: gedit .zshrc

Quando o arquivo for aberto, adicione a seguinte linha:

./.add_device_permissions.sh

Antes ou antes, precisamos criar este arquivo: .add_device_permissions.shno qual escrevemos o seguinte:

#!/bin/bash
# Add permissions
ADB="/home/vadimm/Android/Sdk/platform-tools/adb"
$ADB devices
$ADB kill-server
cat .permissions_redmi_note | sudo -S $ADB devices
$ADB kill-server
cat .permissions_redmi_note | sudo -S $ADB devices

Também precisamos criar .permissions_redmi_note onde precisamos codificar nossa senha.

  1. Para não adicionar .zshrcdesnecessariamente ao arquivo , podemos especificar o caminho ao iniciar o próprio sistema:Startup Applications Preferences

Onde pressionamos "Adicionar" e escrevemos nosso comando: /home/vadimm/.add_device_permissions.sh

  1. Também você pode tentar usar na linha de comando próximos comandos: ./adb devices ./adb kill-server sudo ./adb devices ./adb kill-server ./adb devices
Morozov
fonte
-2

Se alguém enfrentar a seguinte mensagem de erro ao usar adb devices

no permissions (verify udev rules); see [http://developer.android.com/tools/device.html]

Execute o seguinte

sudo -s 
adb kill-server
adb start-server

Isso corrigiu o problema para mim em um dispositivo Android de compilação personalizado

Ismail Iqbal
fonte