Cihazda USB hata ayıklamayı etkinleştir
Bu, Ayarlar ›Geliştirme bölümünde yapılır . Ayarlar menünüzde bu giriş yoksa, Ayarlar ›Hakkında bölümüne gidin ," Yapı numarası "na gidin ve cihazınız sizi geliştirici olduğunuzu tebrik edene kadar maymun gibi çekiçleyin. Ayarlar menüsünün ana sayfasına geri dönün ve en alttaki "Geliştirme" (veya "Geliştiriciler") ayarlarını şimdi görmelisiniz. Buraya girin ve USB Hata Ayıklamayı etkinleştirin .
Cihazı tanımlayın
İlk önce cihazın USB veriyolunda nasıl tanımlandığını bilmemiz gerekir. Bunun için Android cihazı bağlı DEĞİL durumdayken, bir kabuk alın ve komutu çalıştırın lsusb
. Ardından cihazı bağlayın ve komutu tekrar çalıştırın. Yeni satırı bulun. For Wileyfox Swift bu bir "isimsiz cihazı" dir:
Bus 004 Device 003: ID 2970:2282
ADB için kurallar oluşturma
Şimdi yukarıdaki satırın sonunda sayıları gerekir: 2970:2282
. Bunlar satıcıyı (2970) ve cihazın kendisini (2282) belirtir. Bu ayrıntılara sahip olarak , dosyayı düzenlemek (veya henüz yoksa, oluşturmak) için Linux makinemizde bir kök kabuğa ihtiyacımız var /etc/udev/rules.d/51-android.rules
. Oraya, cihazınız için bir satır ekleyin. Aşağıdaki örnek çizgi Wileyfox Swift'in nasıl göründüğünü göstermektedir : ¹
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2282", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
Farklı bir cihazınız varsa, satıcıyı ve ürün kimliklerini çalışırken yukarıda bulduğunuzla değiştirin lsusb
. Hattın kısa bir açıklaması:
SUBSYSTEMS=="usb"
: açıkçası bu kural sadece USB içindir;)
ATTRS{idVendor}=="2970"
: bu kuralın bulunduğu cihazın satıcı kimliği
ATTRS{idProduct}=="2282"
: cihaz kimliği
MODE="0666"
: aygıt düğümünün alacağı izinler. 0666
sisteminizdeki her kullanıcıya okuma ve yazma izni vererek oldukça gevşek, bu yüzden endişeleniyorsanız, bunu bir ile değiştirmeyi deneyebilirsiniz 0660
(yalnızca sahip ve grup okuma-yazma vererek başkalarına her şeyi reddedin).
GROUP="androiddev"
: aygıt düğümünün hangi gruba ait olması gerektiği. Bu, kullanıcıların cihazla çalışmak istediği bir grup olmalıdır.
SYMLINK+="android%n"
: sadece düğüme güzel bir isim vermek için, daha kolay bulabilirsiniz /dev
(benim durumumda, daha sonra orada ortaya çıktı /dev/android5
)
Girilen kural /etc/udev/rules.d/51-android.rules
, bundan udev
faydalanmayı söylemeliyiz . En güvenli yol (yeniden başlatmanın yanında;) udev
hizmeti yeniden başlatmaktır . Linux dağıtımınıza bağlı olarak, bu service udev restart
veya yoluyla yapılabilir /etc/init.d/udev restart
.
Bunu yap, kök kabuğunu bırak. Android cihazınızın bağlantısını kesin ve yeniden bağlayın, adb devices
tekrar deneyin . Çoğu cihaz şimdi ortaya çıktı, ancak Wileyfox Swift değil - ki bazı ekstra kucaklamalar istiyor. Bu durumda, dosyayı açın (veya yoksa oluşturun) ve üzerine ~/.android/adb_usb.ini
bulduğunuz satıcıyı adlandırarak tek bir satır ekleyin lsusb
; için Swift olurdu 0x2970
(yupp, burada bunu öneki gerekebilir 0x
bir onaltılık sayı dışarı noktasına). Sonra ADB sunucuyu yeniden başlatın: adb kill-server && adb start-server
. Cihazın bağlantısını kesin ve tekrar bağlayın. Şimdi adb devices
görmeliyiz.
Cihazı bağlama
Sana adb devices
böyle bir şey söylediğini fark etmiş olabilirsin 0123456789ABCDEF unauthorized
. Sorun yok ve (aygıtlarınızın) güvenliği için: aygıta erişebilmek için önce bilgisayarınız yetkilendirilmelidir. Yani adb shell
şimdi sorun - error: device unauthorized. Please check the confirmation dialog on your device.
Bu tavsiyeyi takip et (isteğe bağlı olarak bilgisayarınızı kalıcı olarak yetkilendirmek için onay kutusunu işaretleyin) ile bırakılacak ve işiniz bitti: Artık cihazınıza erişmek için adb'yi kullanabilirsiniz .
Güncellemeler:
Later Daha sonraki Linux sürümlerinde, UDEV kuralları sözdiziminin biraz değiştiğine dikkat edin, örneğin jcomeau_ictx yorumunda işaret etti. Yukarıda bulduğumuz değerler için:
SUBSYSTEM=="usb", ATTR{idVendor}=="2970", ATTR{idProduct}=="2282", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"
İki farklılıkları: şimdi var SUBSYSTEM
(çoğul) ve grup değiştiğini androiddev
için plugdev
(ikincisi yapar ve genellikle ilk kullanıcıya en azından, yeni atanan sistemlerde eski yok).
Ayrıca, vendorID değerini ~/.android/adb_usb.ini
(satır başına bir kimlik, onaltılık gösterimde) eklemeniz gerekebilir :
# ANDROID 3RD PARTY USB VENDOR ID LIST
# 1 USB VENDOR ID PER LINE.
0x2970