mengatur perangkat untuk pengembangan (???????????? tidak ada izin)

282

Saya menggunakan ponsel Samsung galaxy nexus ( platform Android 4.0 ).

Saya sedang mengembangkan aplikasi Android di Ubuntu linux OS. Saya ingin menjalankan aplikasi saya langsung di perangkat handset Samsung, jadi saya melakukan langkah-langkah pengaturan berikut:

  1. dalam AndroidManifest.xmlfile proyek saya , ditambahkan android:debuggable="true"ke <application>elemen

  2. Di perangkat, di Pengaturan> Keamanan diaktifkan Sumber tidak dikenal

  3. Di perangkat, di Pengaturan> Opsi pengembang mengaktifkan USB debugging

  4. Di komputer saya, buat /etc/udev/rules.d/51-android.rulesfile dengan konten berikut:

    SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev" 
  5. Di komputer saya, jalankan chmod a+r /etc/udev/rules.d/51-android.rulesperintah

Kemudian, di komputer saya saya membuka terminal dan menjalankan adb devicesperintah, saya mendapat:

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

Karena saya tidak melihat perangkat saya tetapi hanya ???????????? no permissions, saya kemudian menjalankan perintah berikut:

 adb kill-server
 adb start-server
 adb devices

Tapi saya masih punya:

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

Mengapa? Apa yang saya lewatkan?

Leem.fin
sumber
setelah mengeksekusi adb kill-server apakah Anda mendapatkan pesan bahwa * daemon tidak berjalan. mulai sekarang di port 5037 * * daemon mulai berhasil * --- jika tidak coba sampai Anda mendapatkan pesan ini
Andro Selva
2
Coba periksa apakah pengguna Anda dalam plugdevgrup.
Sergey Glotov
2
Jalankan => sudo adb start-server (Gunakan akses root untuk menjalankan adb)
Bingung
akhirnya saya menemukan solusi yang bekerja untuk saya di tautan ini github.com/snowdream/51-android
Abdulrahman Gamal

Jawaban:

451

Yang berhasil bagi saya adalah membunuh dan memulai server adb lagi. Di linux: sudo adb kill-serverlalu sudo adb start-server. Maka itu akan mendeteksi hampir setiap perangkat di luar kotak.

Warren Faith
sumber
1
Saya menggunakan root untuk menjalankan perintah "perangkat adb" di bawah <android-SDK> / platform-tool /, saya mendapat "Tidak ada perintah 'adb' ditemukan", mengapa?
Leem.fin
8
pastikan bahwa adb Anda mendapat + x -rwxrwxr-x 1 martin martin 156K 2011-11-09 15:40 adb. Cobalah untuk pindah ke direktori secara langsung dan mulai melalui "sudo ./adb devices". Jika Anda dapat menjalankannya tanpa sudo, Anda harus dapat menjalankannya dengan sudo ... Saya tidak yakin apa masalah Anda ...
WarrenFaith
8
Anda seharusnya tidak perlu menjalankan adb sebagai root jika izin udev Anda diatur dengan benar. Lihat jawaban grebulons di bawah ini, atau rujuk dokumentasi android: developer.android.com/tools/device.html
gnac
4
Salah satu saran penting adalah lepaskan kabel usb, jadi Anda mengatur ulang adb, menghubungkan kabel dan berfungsi. Dalam situasi saya, ketika saya melakukan prosedur dengan kabel yang terhubung itu tidak berfungsi untuk saya.
androidevil
6
Dan perintahnya adalah: adb kill-server sudo adb start-serveruntuk memeriksa:adb devices
Asim
350

Tidak ada yang berhasil bagi saya sampai saya akhirnya menemukan jawabannya di sini: http://ptspts.blogspot.co.il/2011/10/how-to-fix-adb-no-permissions-error-on.html

Saya menyalin teks di sini kalau-kalau menghilang di masa depan.

Buat file bernama /tmp/android.rules dengan konten berikut (nomor vendor hex diambil dari halaman daftar vendor):

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"

Jalankan perintah berikut:

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

Lepaskan koneksi kabel USB antara ponsel dan komputer.

Hubungkan kembali telepon.

Jalankan adb devicesuntuk mengonfirmasi bahwa sekarang ia memiliki izin untuk mengakses telepon.

Harap dicatat bahwa itu mungkin untuk digunakan , USER="$LOGINNAME"sebagai ganti , MODE="0666"dalam .rulesfile, menggantikan $LOGINNAMEnama login Anda, yaitu apa yang id -nudicetak.

Dalam beberapa kasus mungkin perlu memberikan nama aturan udev mengajukan nama yang agak mendekati akhir, seperti z51-android.rules.

grebon
sumber
7
Catatan: untuk Ubuntu Precise nama file adalah 70-android.rulessesuai pos ini: esausilva.com/2010/05/13/… . Juga pujian untuk memberi tahu kami bahwa Anda harus memulai ulang udevdan membunuh semua proses adb. Bekerja seperti pesona!
Eduard Luca
Pendekatan serupa didokumentasikan secara resmi di developer.android.com/tools/device.html
bjunix
4
Ini bekerja dengan baik tetapi, seperti dicatat oleh @luciana di jawaban lain, Anda mungkin perlu menelepon sudo udevadm control --reload-rulesuntuk menyegarkan aturan udev jika me-restart server tidak cukup.
serjlee
4
Ini harus ditandai sebagai jawaban yang benar, karena sudo-ing adb seharusnya tidak menjadi persyaratan untuk Linux
Zac
1
Ini satu-satunya jawaban yang benar di sini. Terimakasih untuk ini! Juga, kita dapat melihat output lsusb untuk memastikan vendor yang diperlukan disertakan. Paling aneh, hanya satu perangkat saya (OnePlus One) tiba-tiba berhenti bekerja setelah memutakhirkan ke Android 7.1.2 (bahkan ketika menjalankan adb sebagai root), setelah menambahkan aturan udev seperti dijelaskan di atas, ia berfungsi lagi.
user1209216
77

Masukkan perintah berikut:

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

Masalahnya adalah Anda tidak menjalankan server adb sebagai root.

iancrowther
sumber
4
walaupun idenya sama dengan jawaban yang diterima, yang ini hanya membantu saya, karena contoh yang diberikan. Terima kasih
user907860
1
@ user907860 sebenarnya lebih baik daripada jawaban yang diterima karena itu menjelaskan mengapa Anda harus menulis sudo :) (yang saya tidak lakukan ketika saya melihat jawaban yang diterima)
stan0
btw tahu mengapa adb harus dijalankan sebagai root?
stan0
maaf tidak, saya tidak ingat
iancrowther
2
adb TIDAK boleh dijalankan sebagai root. Jika ini diperlukan, sistem Anda salah konfigurasi. Berhenti melemparkan "sudo" di depan segalanya, ia memiliki implikasi keamanan yang sangat besar.
hackel
55

Mencoba semua di atas, tidak ada yang berhasil .. akhirnya bekerja ketika saya beralih dari MTP ke Camera (PTP).

Sabeer Mohammed
sumber
3
Bagi mereka yang bertanya-tanya bagaimana melakukan ini ... Pengaturan sistem> Penyimpanan> Tombol kanan atas: koneksi komputer USB> Connect As Select Camera (PTP) alih-alih perangkat Media (MTP)
Thaddeus Albers
3
***, saya sedang mencari solusi seperti dua jam, ini bekerja untuk saya di ubuntu 16.04, terima kasih
Jorius
ini harus menjadi hal pertama yang diperiksa. Bekerja untuk saya
m50
32

Ada banyak jawaban buruk yang diposting untuk pertanyaan ini mulai dari bersikeras menjalankan adbsebagairoot (yang tidak boleh disebut-sebut sebagai satu-satunya atau bahkan solusi yang disarankan) untuk memecahkan masalah yang sama sekali tidak terkait.

Berikut ini adalah resep terpendek dan paling universal untuk mengurus izin untuk semua adbdan fastbootperangkat sekaligus:

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

Atau Anda bisa menggunakan versi yang sedikit lebih panjang yang saya posting ke inti ini .

Adapun hal khusus yang salah OP dalam pertanyaannya - itu tidak memuat kembali udevaturan setelah mengedit .rulesfile.

OP juga tidak memberi tahu Android build (alias ROM) mana yang dia miliki di ponselnya. The idVendornilai diatur dalam perangkat lunak dan oleh karena itu tergantung pada ROM. Jadi nilai yang 04E8ia gunakan dalam aturan aslinya hanya akan bekerja untuk perangkat dengan ROM stock Samsung. Tapi ini bukan masalah untuk udevaturan ini - ini cocok dengan semua perangkat dengan adbatau fastbootantarmuka terlepas dari VendorID mereka .

Alex P.
sumber
Hanya langkah yang hilang untuk melihatnya berfungsi adalah adb kill-server sebelum perangkat adb.
mstrange
1
Ini sepertinya tidak berfungsi lagi di Android 8.1. Bagaimana Anda mengetahui adb apa yang dilaporkan sebagai id perangkat?
Cachapa
Bekerja untuk saya di Android 7.1.2
Amerzilla
@Capa, ia bekerja dengan semua versi Android. Bahkan yang terbaru (pada saat saya menulis ini) Android P Preview 4 menggunakan ID antarmuka adb yang sama - android.googlesource.com/platform/system/core/+/…
Alex P.
masih bekerja dengan Android 11 android.googlesource.com/platform/system/core/+/…
Alex P.
16

Di Archlinux ini bisa terjadi sesekali. Cara mengatasinya:

$ sudo -s
# adb kill-server
# adb start-server
Keenan Verbrugge
sumber
Saya tidak yakin apakah itu satu-satunya yang membuatnya bekerja ... Saya mencoba hal-hal di atas. Tapi tanpa posting ini ubuntu di VBox tidak membuat LG G3 saya resmi. Terima kasih Keenan
lastboy
Saya tidak tahu mengapa tetapi sudo adb kill-server; sudo adb start-servertidak berhasil tetapi yang ini berhasil.
Hritik
9

Bagi mereka yang menggunakan debian, panduan untuk menyiapkan perangkat di bawah Ubuntu untuk membuat file "/etc/udev/rules.d/51-android.rules" tidak berfungsi. Saya mengikuti instruksi dari sini . Tuliskan yang sama di sini untuk referensi.

Edit file ini sebagai superuser

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

Temukan teks yang mirip dengan ini

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

Kemudian ubah mode ke 0666 seperti di bawah ini

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

Ini memungkinkan adb berfungsi, namun kita masih perlu mengatur perangkat agar dapat dikenali. Kita perlu membuat file ini sebagai superuser,

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

dan masuk

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

baris di atas adalah untuk HTC, ikuti posting @ grebulon untuk daftar lengkap.

Simpan file dan kemudian restart udev sebagai pengguna super

sudo /etc/init.d/udev restart

Hubungkan ponsel melalui USB dan itu harus dideteksi ketika Anda mengkompilasi dan menjalankan proyek.

jaga
sumber
5

Saya memiliki masalah yang sama, solusinya adalah sebagai sesama: (omong-omong, Anda tidak perlu me-rooting perangkat Anda.)

  1. Ketik "su" untuk beralih ke pengguna super.
  2. your-path / adb kill-server.
  3. your-path / adb start-server.
  4. Jika tidak ada kesalahan terjadi, Anda dapat melihat daftar perangkat dengan "your-path / adb devices" di akun root.
  5. Keluar dari pengguna super.
  6. Sekarang Anda dapat melakukan "perangkat adb" di akun Anda.

Nikmati.

Jeffrey Yang
sumber
1
Jika Anda tidak bisa masuk menggunakan su, gunakan sudo su. Aku melakukannya. Dan juga, jika Anda tidak tahu cara keluar dari pengguna - gunakan exit.
Pijusn
4

Saya tahu ini mungkin agak terlambat, tetapi di sini ada artikel yang sangat bagus tentang cara menambahkan secara manual Android ADB USB Driver. Menambahkan driver USB ADB Android secara manual di Ubuntu 14.04 LTS

Diedit untuk Menambahkan Konten Tautan

Langkah

Catatan: Pastikan Anda telah menghubungkan perangkat Android Anda di USB Debugging mode

Buka terminal ( CTRL + ALT + T) dan masukkan perintah: lsusb

Sekarang Anda mungkin mendapatkan balasan yang serupa dengan ini:
Bus 002 Device 013: ID 283b:1024

Catatan: Dengan referensi iniBus 002 Device 008: ID 283b:1024
{idVendor}==”283b” {idProduct}==”1024″

Sekarang masukkan perintah berikut: sudo gedit /etc/udev/rules.d/51-android.rules
Ini membuat file aturan android ( 51-android.rules) atau buka yang ada di lokasi yang ditentukan ( /etc/udev/rules.d)

Tambahkan baris baru ke file ini:
SUBSYSTEM==”usb”, ATTRS{idVendor}==”283b”, ATTRS{idProduct}==”1024″, MODE=”0666″

Catatan Edit idVendor& idProductnilai dengan nilai perangkat Anda. Simpan dan tutup.

Sekarang masukkan perintah berikut:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules- beri izin baca / eksekusi
sudo service udev restart- Mulai ulang udevlayanan

Sekarang kita harus menambahkan idVendorke adb_usb.ini. Masukkan perintah berikut:
cd ~/.android
gedit adb_usb.ini

Tambahkan nilai berikut 0x283b

Ini tidak lain adalah 0x ( idVendornilai). Jadi gantikan nilainya dengan. menghormati nilai perangkat Anda Simpan dan tutup file.

Sekarang masukkan perintah berikut:
sudo service udev restart

Hubungkan perangkat Android dan hubungkan kembali.
Sekarang masukkan perintah berikut:
adb kill-server
adb devices

Ini dia! Perangkat Anda harus terdaftar.

Disalin Dari Secara Manual menambahkan driver USB ADB Android di Ubuntu 14.04 LTS

Bekerja untukku.

dc-aoxn
sumber
4

Saya memiliki masalah yang sama dengan Galaxy S3 saya. Masalah saya adalah bahwa idVendornilainya 04E8tidak tepat. Untuk menemukan yang tepat sambungkan ponsel cerdas Anda ke komputer dan jalankan lsusbdi terminal. Ini akan mencantumkan smartphone Anda seperti ini:

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

Jadi nilai yang tepat idVendoradalah 18d1. Dan garis dalam /etc/udev/rules.d/51-android.rulesharus:

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

Lalu aku berlari sudo udevadm control --reload-rulesdan semuanya bekerja!

Ulli
sumber
1
Mungkin maksud Anda:ATTR{idVendor}=="18d1"
Tanasis
3

Gunakan M0Rf30/android-udev-ruleskomunitas GitHub mempertahankan udev-rules

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

Ini adalah daftar aturan-udev paling lengkap yang pernah saya lihat sejauh ini, bahkan lebih dari yang saat ini direkomendasikan sudo apt-get install android-tools-adb pada dokumentasi resmi , dan itu memecahkan masalah itu untuk saya.

Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
sumber
1
mengapa repot-repot dengan "mempertahankan daftar" ketika satu aturan berlaku untuk semua? stackoverflow.com/a/45006231/1778421
Alex P.
@AlexP. terima kasih saya tidak tahu tentang metode itu. Adakah yang tahu mengapa panduan resmi tidak menyarankannya sebagai gantinya?
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
Karena kemalasan dan inersia pengetahuan kebanyakan. Pengembang Android asli menggunakan perangkat dengan ID vendor yang sama sehingga mereka mengambil pendekatan termudah yang bisa mereka pikirkan. Ketika lebih banyak vendor menciptakan lebih banyak perangkat - pengembang terus menambahkan lebih banyak ID ke file aturan.
Alex P.
2
  1. Ikuti instruksi di http://developer.android.com/guide/developing/device.html (Tautan yang diarsipkan)
  2. Ganti vendor id dari 0bb4dengan 18d1di/etc/udev/rules.d/51-android.rules

    Atau tambahkan baris lain yang bertuliskan:

    SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
  3. Nyalakan kembali komputer atau mulai ulang layanan udev.
Krishnendu
sumber
1

Ketika Anda me-restart udev, bunuh server adb & mulai server adb goto jalur pemasangan android sdk & lakukan semuanya di sudo. kemudian jalankan adb devices maka akan menyelesaikan masalah izin.

Chinthaka Senanayaka
sumber
1

Perangkat saya POSITIVO dan sistem operasional saya Ubuntu 14.04 LTS Jadi, masalah saya adalah nama variabel

Saya membuat file /etc/udev/rules.d/51-android.rules dan meletakkannya SUBSYSTEM=="usb", SYSFS{idVendor}=="1662", MODE="0666"

Saya memutus perangkat dan menjalankan:

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

setelah ini saya menghubungkan perangkat android dalam mode pengembang lagi dan

$ adb devices

List of devices attached 
1A883XB1K   device
luciana
sumber
1

Tanpa mencabut kabel

Semua jawaban yang diberikan berasumsi bahwa Anda dapat mencabut dan menyambungkan kembali kabel USB. Dalam situasi di mana ini tidak mungkin (misalnya, ketika Anda jauh), Anda dapat melakukan hal berikut untuk melakukan apa yang akan dilakukan oleh aturan udev yang disarankan pada plug-ulang:

lsusb

Temukan perangkat yang Anda pedulikan, misalnya:

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

Catat nomor bus yang dihidupkan lalu laksanakan, misalnya untuk bus 003:

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

Jelas ini mungkin lebih permisif daripada yang Anda inginkan (mungkin ada lebih banyak perangkat yang terpasang dari yang satu ini), tetapi Anda mendapatkan idenya.

Christian Fritz
sumber
untuk menerapkan udevaturan baru tanpa menghubungkan kembali perangkat cukup gunakan udevadm trigger --verbose --action=add --subsystem-match=usbperintah.
Alex P.
1

Anda TIDAK boleh menjalankan adbserver sebagai root seperti yang disarankan oleh jawaban lain. Alih-alih jika Anda menggunakan Arch Linux, lakukan hal berikut:

  1. Instal android-udevpaket dengan Pacman
  2. Muat ulang aturan udev:

    # udevadm control --reload-rules
  3. Tambahkan diri Anda ke adbusersgrup lalu keluar dan masuk:

    # usermod -aG adbusers $LOGNAME

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

Babken Vardanyan
sumber
0

Coba alih-alih GROUP="plugdev"gunakan grup utama pengguna Anda.

Yury
sumber
Saya menggunakan nama pengguna saya, itu tidak membantu
Leem.fin
0

Dalam kasus saya di ubuntu 12.04 LTS, saya harus mengubah mode usb HTC Incredible saya dari biaya ke Media dan kemudian perangkat muncul di bawah adb. Tentu saja, debugging sudah aktif di kedua kasus.

Alan
sumber
0

Harap JANGAN mengikuti solusi yang menyarankan untuk menggunakansudo ( sudo adb start-server)! Ini menjalankan adb sebagai root (administrator) dan TIDAK seharusnya dijalankan seperti itu !!! Ini solusi buruk !

Semua yang berjalan sebagai root dapat melakukan apa saja di sistem Anda, jika ia membuat atau memodifikasi file dapat mengubah izinnya untuk hanya digunakan oleh root. Sekali lagi, JANGAN!

Hal yang benar untuk dilakukan adalah mengatur sistem Anda untuk membuat USER memiliki izin, lihat panduan ini yang saya tulis tentang cara melakukannya dengan benar.

Daniele Segato
sumber
0

Saya memiliki masalah yang sama dan saya mengikuti langkah-langkah ini:

# 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

Langkah-langkah di atas dijelaskan pada android-udev-rules . Ini berhasil untuk saya.

Pastikan untuk mengkonfirmasi dialog yang akan muncul di layar ponsel Anda setelah memasangnya kembali.

leosbrf
sumber
0
sudo usermod -aG plugdev $LOGNAME

Perintah ini bekerja untuk saya

Fayaz
sumber
-1

Saya menggunakan su dan mulai bekerja. Ketika saya menggunakan Jetbrains dengan pengguna biasa, saya melihat masalah ini tetapi setelah memulai ulang Jetbrains dalam mode su, saya dapat melihat perangkat saya tanpa melakukan apa-apa.

Saya menggunakan Ubuntu 13.04 dan Jetbrains 12.1.4

Deepti Kohli
sumber
-1

Anda juga dapat mencoba mengedit file adb_usb.ini , yang terletak di /home/username/.android/ . File ini berisi daftar vendor perangkat id yang ingin Anda sambungkan. Anda cukup menambahkan vendor id perangkat Anda di baris baru (satu id per baris). Kemudian restart server adb dan ganti perangkat Anda.

Ini bekerja untuk saya di Ubuntu 12.10.

10101101
sumber
-1

Lagi pula, apa yang saya lakukan untuk mengatasi masalah ini (di Ubuntu ).

  1. Didefinisikan dalam hal apa saya perlu menjalankan perintah ini. Untuk sebagian besar pengguna ubuntu ada folder rumah (file tersembunyi .bashrc).

    Di mana Anda dapat merekam peluncuran perintah ini. Tetapi perintah ini akan terpicu ketika Anda memasukkan bashperintah di konsol.

  2. Karena saya memiliki shell .zshrc maka saya melakukan hal berikut:

    konsol terbuka: gedit .zshrc

Ketika file dibuka, tambahkan baris berikut:

./.add_device_permissions.sh

Setelah atau sebelum, kita perlu membuat file ini: .add_device_permissions.shdi mana kita menulis yang berikut ini:

#!/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

Kita juga perlu membuat .permissions_redmi_note di mana kita perlu meng-hardcode kata sandi kita.

  1. Untuk tidak menambahkan file yang .zshrctidak perlu, kita dapat menentukan path ketika memulai sistem itu sendiri:Startup Applications Preferences

Di mana kita menekan "Tambah" dan tulis perintah kita: /home/vadimm/.add_device_permissions.sh

  1. Anda juga dapat mencoba menggunakan perintah baris berikutnya: ./adb devices ./adb kill-server sudo ./adb devices ./adb kill-server ./adb devices
Morozov
sumber
-2

Jika ada yang menghadapi pesan kesalahan berikut ketika mereka menggunakan adb devices

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

Jalankan yang berikut ini

sudo -s 
adb kill-server
adb start-server

Itu memperbaiki masalah bagi saya di perangkat Android build kustom

Ismail Iqbal
sumber