Saya menggunakan Ubuntu 12.10 dan saya telah menginstal Android SDK, mengatur jalurnya di pengguna saya .bashrc
dan berfungsi.
Masalahnya adalah bahwa ponsel saya memerlukan adb untuk dijalankan oleh root untuk izin, tetapi menjalankan adb dengan sudo saya mendapatkan kesalahan berikut:
sudo: adb: perintah tidak ditemukan
Saya mencoba menggunakan saja sudo -E adb start-server
, tetapi tidak berhasil. Mencoba menambahkan jalur jalur ekspor ke /root/.bashrc
dan (setelah menyadari itu tidak membantu) untuk /etc/bash.bashrc
.
Saya ingat saya bisa mengaturnya di Arch Linux saya, tapi saya kira masalah saya sekarang terhubung ke akun root Ubuntu tidak berperilaku seperti yang saya harapkan.
Yang tidak saya mengerti adalah sebagai berikut:
Ini tidak berfungsi:
martin@alyx:~$ sudo adb devices
sudo: adb: command not found
Ini (mengetikkan path lengkap):
martin@alyx:~$ sudo /opt/android-sdk-linux/platform-tools/adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
CM7-Blade device
Ini tidak berfungsi (menggunakan -E dengan sudo):
martin@alyx:~$ sudo -E adb devices
sudo: adb: command not found
Ini berfungsi (sebagai root):
martin@alyx:~$ sudo su
root@alyx:/home/martin# adb devices
List of devices attached
CM7-Blade device
Saya benar-benar bingung sekarang dan saya akan menghargai beberapa klarifikasi tentang cara menetapkan jalur untuk sudo atau bagaimana lagi saya bisa menyelesaikan masalah saya.
(Dan tolong, jangan katakan adb tidak boleh dijalankan sebagai root.)
Terima kasih sebelumnya!
Sunting: Dengan meminta izin root, saya maksudkan bahwa saya membutuhkannya karena jika tidak saya akan mendapatkan:
$ adb devices
List of devices attached
???????????? no permissions
yang tidak muncul sebagai superuser. Maaf kalau itu salah paham.
Jawaban:
Silakan baca yang berikut ini terlebih dahulu: Bagaimana cara saya mengatur Android ADB?
Mengkonfigurasi akses USB
Pertama, Anda tidak perlu izin root untuk menjalankan ADB jika Anda telah menetapkan izin yang sesuai. Situs AOSP menyediakan contoh untuk Mengkonfigurasi Akses USB untuk perangkat Pixel / Nexus. Anda dapat menggunakan skema berikut untuk perangkat non-Nexus:
Vendor dan ID produk dapat diperoleh dengan menggunakan
lsusb
dan mencari perangkat Anda. (Catatan: Perangkat ini sebenarnya adalah Galaxy Nexus.)Jadi
/etc/udev/rules.d/51-android.rules
aturan udev saya terlihat seperti ini:Anda mungkin ingin mengulang ini untuk status ponsel lainnya seperti fastboot jika diperlukan. Agar perubahan diterapkan, lakukan reload udev (
sudo udevadm control --reload
) atau reboot (disarankan).Membuat program tersedia
Alih-alih memodifikasi variabel path saya sarankan menambahkan tautan simbolik ke executable baik di
~/bin/
(hanya pengguna) atau di/usr/local/bin/
(sistem lebar).sumber
adb devices
bekerja untuk saya tanpa hak root.Saya bertemu dengan masalah yang sama dengan tablet dari China (beberapa produsen aneh).
Selain
/etc/udev/rules.d/51-android.rules
file, saya perlu mengubah~/.android/adb_usb.ini
juga.Jalankan di bawah ini di terminal;
dan
adb_usb.ini
file Anda akan terlihat seperti:Perangkat terputus dan terhubung kembali dan juga perlu menjalankan perintah di bawah ini di terminal;
dan sesudahnya
Dan perangkat itu terdeteksi.
sumber
0x2207
dalam contoh Anda adalah ID vendor yang sama yang digunakan perangkat saya.Dalam kasus saya alih-alih mode MTP, beberapa Smartphone hanya perlu diatur dalam mode PTP tidak seperti kebanyakan perangkat yang membutuhkan mode MTP untuk dideteksi oleh Android Studio saya (v1.5.1).
Jadi pastikan untuk terlebih dahulu mencoba mode MTP dan PTP sebelumnya tanpa perlu menghabiskan waktu untuk Konfigurasi ADP Unix yang lebih kompleks dan mungkin membahayakan mereka.
Di perangkat yang lebih baru, Anda dapat memilihnya secara langsung di opsi Dev, sedangkan di perangkat yang lebih lama ada di Opsi Terhubung USB di Bilah Status.
Namun bagi saya Perangkat Sony Xperia terbaru dari Z5 ke atas, tidak akan berfungsi apa pun mode USB. Mungkin Android Studio saya sudah tua atau saya perlu menggali juga dengan Unix ADP Configurations.
sumber
Ikuti langkah ini:
Atur vars android
Mulanya pergi ke rumah Anda dan tekan Ctrl+ Hitu akan menampilkan file tersembunyi sekarang mencari
.bashrc
file, buka dengan editor teks lalu letakkan baris di bawah di akhir file:Mulai ulang
Menggunakan perangkat untuk debug
Dengarkan koneksi:
Hubungkan perangkat Android Anda dan beri otorisasi:
sumber
Mengkonfigurasi Akses USB
Pendekatan yang disarankan adalah membuat file di
/etc/udev/rules.d/51-android.rules
.Silakan ketik Terminal:
Aturan-aturan baru tersebut mulai berlaku pada saat perangkat dicolokkan. Oleh karena itu mungkin perlu mencabut perangkat dan menghubungkannya kembali ke komputer.
sumber
Meskipun jawaban yang diterima membantu saya menyelesaikan sesuatu, saya masih bingung tentang:
dan khususnya
karena menurut
sudo --help
:Ternyata, bahwa pada banyak distribusi linux (yang mencakup Debian dan Ubuntu)
secure_path
danenv_reset
opsi diaktifkan secara default, yang mengatur ulangPATH
variabel Anda dan mengaturnyasecure_path
. Anda dapat mengubahnya di/etc/sudoers
file menggunakan visudo.Atau Anda dapat menjalankan:
sumber
Coba perintah ini:
sudo tools/android update sdk --no-ui
README SDK:
sumber