Adb Android senza autorizzazione


33

Sto cercando di utilizzare adb da una macchina Ubuntu (+ Cinnamon). Il problema è che ricevo il seguente messaggio dai dispositivi adb :

List of devices attached
TA8830OIVO  no permissions

Dove TA8830OIVO è il mio dispositivo Motorola G.

Ho cambiato le regole Android in /etc/udev/rules.d/51-android.rules

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

Ho anche riavviato il servizio udev e l'installazione di adb sul mio laptop personale sono l'unico utente con tutti i privilegi necessari (gruppo plugdev e così via).

C'è un modo per eseguire adb senza invocare sudo ?


1
Riavvio di udev e sudo udevadm triggernon ha funzionato per me. Ho dovuto riavviare il computer e poi ha funzionato bene
Rafael Xavier,

Risposte:


65

Cambia la modalità USB del tuo telefono in File Transfer. Questo è ciò che ha funzionato per me.


Per me è vero il contrario: il debug USB non funziona durante la modalità di trasferimento file su alcuni vecchi dispositivi.
Miha_x64,

1
Aggiornamento: ho appena notato che nel mio telefono (Android One), il debug USB può essere abilitato anche in modalità di ricarica in Impostazioni sviluppatore.
NuttLoose

2
Il passaggio alla modalità di trasferimento file ha funzionato per me. Su Android 7
Abrar il

Kindle Fire 8 2019 - "Modalità MTP" che si trova nella configurazione USB in Opzioni sviluppatore.
Bill McGonigle,

Ho cambiato e quindi mi è stato chiesto sul dispositivo di consentire il debug USB: D
Maxwell sc

27
  1. Ricordati di eseguire sudo udevadm triggerper applicare le modifiche (o riavviare, ma dov'è il divertimento).
  2. Invece di scrivere le tue regole usa https://github.com/M0Rf30/android-udev-rules
  3. Assicurati di avere l'ultima versione di ADB (1.0.35 102d0d1e73de-android). I primi non funzionavano con USB-C per me.

Grazie ma è una vecchia domanda. Sono passato al Mac 2 anni fa. Trovo stupido fare cose come lsusb e poi modificare le regole quando dovrebbe essere fatto automaticamente ... Ho rinunciato dopo così tanti anni di utilizzo di Ubuntu. Non riesco a trovare un sistema desktop Linux decente.
shadox,

1
La domanda ha 6 mesi ed è ancora valida per i posteri. 1y fa ho scaricato OS X dopo una relazione 3y e sono tornato su Linux per ragioni simili;). Linux ha parti in cui diventa frustrante ma c'è una quantità simile di armeggi richiesti in OS X se usi homebrew + zsh + iTerm2. La differenza è quella roba se principalmente versioni chiuse o obsolete di FOSS ma con una bella interfaccia grafica e UX (per la maggior parte). L'uso delle regole dal repository lo rende principalmente una fase di installazione singola. Considerando gli arcani di far funzionare Android SDK in modo sano, è un gioco da ragazzi.
Zamber,

1
Eseguendo questo e service udev restartnon ha funzionato per me. Ho dovuto riavviare il computer e poi ha funzionato bene.
Rafael Xavier,

Su Ubuntu 16.04 l'impostazione delle regole udev, cambiare la modalità usb sul telefono per il trasferimento di file ha funzionato come un fascino. Non è necessario il riavvio.
Gautam,

Su Ubuntu 16.04 con un Pixel 2 l'aggiunta delle regole dal gitbub del punto 2 funziona senza nemmeno passare alla modalità di trasferimento file.
Mike Hanafey,

3

Se riavvii il server ADB con sudo, funzionerà.

sudo adb kill-server
sudo adb start-server

0

Definire la funzione di livellamento personalizzata:

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

La migliore soluzione e ciò che ha funzionato meglio per me è l'installazione adbdal pacchetto Ubuntu. Ciò ti offre un set di udevregole predefinito gestito dalla community per tutti i dispositivi Android.

esempio:

$ sudo apt-get install adb

0

Per Amazon Fire OS 8, un sistema operativo basato su Android, puoi andare su "Impostazioni> Opzioni dispositivo> Opzioni sviluppatore". Potrebbe essere necessario abilitarlo .

Assicurati che "USB Debugging" sia attivo (nel tuo caso, lo è).

Quindi vai su "Rete> Seleziona configurazione USB". Scegli "MTP (Media Transfer Protocol)". Ciò consente al computer di inviare file avanti e indietro.


0

rimuovere il pacchetto adb installato tramite apt

$sudo apt remove adb

scarica l'ultimo adb da
https://developer.android.com/studio/releases/platform-tools

imposta il percorso degli strumenti della piattaforma (meglio inserire queste due righe nel file ~ / .bashrc)

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

correre

$source ~/.bashrc

controlla percorso adb

$which adb

avvia adb in sudo (avevo bisogno di dare il percorso assoluto ad adb quando eseguivo in 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

FATTO.
funziona indipendentemente dalla modalità USB (MIDI, trasferimento di file, ricarica) del telefono Android. Funziona in tutto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.