2014-11-06 18 views
11

Bir Android aygıtında ADB'yi kullanmayı denedim, dolayısıyla hiçbir ana bilgisayar olmadan. Bu birkaç gün önce mükemmel bir şekilde çalışıyordu, ama aniden çalışmayı bıraktı. Bildiğim kadarıyla o zamandan beri hiçbir şey değişmedi (ör., Hiçbir uygulama (un) yüklü değil). Bir terminal öykünücüsünde adb backup -f /sdcard/backup.ab <package-name> kullanabilir ve bu paketi yedeklemeye başlayacaktır. Bunu şimdi denediğimde, adb: unable to connect for backup döndürür. adb devices kullanarak soruşturma boş bir liste döndürür. Daha önce cihazları kontrol etmekten asla rahatsız olmadım, sadece düpedüz komutuma gittim, çünkü her şey çalışıyordu.ADB'yi yerel olarak cihazda (geridönüş) kullanarak hiçbir aygıt göstermiyor

Bu, Android 4.4.2, ADB sürüm 1.0.31 çalıştıran bir HTC Desire sürümündeydi. Bu telefon ile PC'mden ADB'yi kullanmak mükemmel çalışıyor, ama istediğim bu değil. Ben, Sony Xperia S 4.4.2 üzerinde 4.4.2 üzerinde, Samsung Galaxy Note GT-N7000 farklı cihazlara (Asus PadFone 2 aynı eylemleri gerçekleştirmek için çalıştık

  • denedim ne

    4.1.2.) ancak adb devices, hepsinde boş bir liste döndürür. Bunun neden HTC Desire'ım üzerinde çalıştığını merak etmeye başlıyorum.

  • Google ve Yığın Taşması'nda arama yapın, ancak çoğu (tümü olmasa da) sonuç, bir sürücü sorununa veya ana bilgisayarı içeren başka bir soruna bakın.
  • adb kill-server + yüzlerce kez yanı sıra, stop adbd + start adbd.
  • Ayarlar'da “USB Hata Ayıklama” işleminin kapatılması ve açılması, ayrıca önceden yetki verilen bilgisayarlara erişimin iptal edilmesi. (Ancak, çalışma durumunda, hiç bir RSA anahtar doğrulama isteminde bulunmadım.)
  • adb -a devices -> boş liste.
  • adb usb ->error: device not found.
  • TCP modunda adb (d) 'yi yeniden başlatmaya çalışmak başarısızdır (bu, çalışma durumunda gerekli olmasa bile). adb tcpip 5555, error: device not found'u döndürür.
  • getprop, service.adb.tcp.port ve setprop service.adb.tcp.port 5555 adlı hiçbir giriş sessizce başarısız olur. (getprop service.adb.tcp.port'u kullanarak sonradan döndürme. Bu köke gerek yok mu?)
  • adb connect localhost, unable to connect to localhost:5555 değerini döndürür.
  • Arka plan başladığında, 5038 numaralı bağlantı noktasında başlar (PC'mden ADB kullanırken 5037'den başlar). adb connect localhost:5038, connected to localhost:5038'u döndürür. Ancak adb devices hala boş bir liste döndürür ve adb backup, adb: unable to connect for backup döndürür. Ayrıca adb shell, error: device not found ve adb get-state, unknown'u döndürür. Yani burada da başarı yok.
  • Yerel ipimi getprop dhcp.wlan0.ipaddress (192.168.1.xx döndürür) kullanarak bulma ve adb connect 192.168.1.xx, unable to connect to :5555'u döndürür. adb connect 192.168.1.xx:5038 ->unable to connect to :5038. ADBHOST=192.168.1.xx adb start-server'u kullanarak bu sonuçlar üzerinde hiçbir etkisi yoktur.
  • Aslında bir şekilde alakalı olan birkaç arama sonucundan biri, AOSP Sorun İzleyicisi'nde this iş parçacığıdır. Yine de, setprop service.adb.tcp.port 5555, adb devices kullanımından sonra en azından bir cihazı (ancak localhost:5555 offline) çevrimdışı olarak görüntüleyen bir sorunu açıklar.İpin sonuna yakın bir şekilde, $ HOME dizininin RSA tuşlarının kaydedildiği yeri değiştirecek şekilde değiştirilmesini içeren bir çözüme ulaşılır, örn. HOME=/sdcard. Daha sonra cat /sdcard/.android/adbkey.pub >> /data/misc/adb/adb_keys kullanarak/key/misc/adb/adb_keys için public anahtar eklemek gerekir. Bununla birlikte, bu ihtiyacın kökü var mı? Ayrıca, tüm bu çalışma koşullarında gerekli değildi, bu yüzden benim sorunumun çözümünün bu yönde bulunmasından şüphe duyuyorum. AOSP'un Yayın İzleyicisi'ndeki iş parçacığından türetilen This article, ortak anahtarın eklenmesinden söz etmez. Bununla birlikte, bahsedilen yaklaşım başarısızdır. (Diğerleri arasında)
  • netstat döner:

    • Proto: tcp
    • Recv-Q: 0
    • Send-Q: 0
    • Local Address: 127.0.0.1:5038
    • Foreign Address: 0.0.0.0:*
    • State: LISTEN
  • ps bir /sbin/adbd sürecini göstermektedir yanı sıra adb süreci:

    • USER: shell PID: 92 PPID: 1 VSIZE: 3624 RSS: 264 WCHAN: ffffffff PC: 00000000 S NAME: /sbin/adbd
    • USER: u0_a57 PID: 9754 PPID: 1 VSIZE: 3016 RSS: 988 WCHAN: ffffffff PC: 4014f768 S NAME: adb
    • (Commands executed from the terminal are executed as USER: u0_a57.)

Bunun hemen hemen tahmin o.

Daha önce çalıştığım zaman gerekmediği için kök gerekmeyen bir çözüm arıyorum. Umarım benim durumum ve soru açık. Sorununun iyileştirilmesi gerekiyorsa lütfen bana bildirin. Bu, Stack Overflow'ta ilk kez gönderiyorum. Umarım birileri bana yardımcı olabilir. Şimdiden teşekkürler!

+1

Tam olarak ne elde etmeye çalışıyorsunuz? PC olmadan bir yedekleme dosyası oluşturmak için sadece '/ system/bin/bu backup ' komutunu çalıştırın. PC'den başlatıldığında 'adb backup' budur. –

+0

@AlexP. Cevabın için teşekkürler. PC olmadan yedek oluşturmaya çalıştığımdan, ihtiyacım olan şey bu olabilir. Yedeklemenin kaydedileceği yeri nasıl kurabilirim? Com.android.commands.bu.Backup kaynak kodundan, -f parametresi yoktur. Ayrıca, kaynağı doğru şekilde okuyorsam, ilk argümanı ('yedekleme' öncesinde bile) daha sonra (int olarak) bir ParcelFileDescriptor – JooPalmer

+0

@AlexP oluşturmak için kullanılır. Yine de, '/ system/bin/bu /sdcard/backup.ab backup -all' sdcard'ın bir backup.ab dosyası oluşturmuyor. Bu dönecek tek şey 'linker: app_process text relocations.', Xposed nedeniyle olduğu gibi görünen bir uyarı. Okuduğumdan, bu sadece bir uyarıdır ve işlem (bu yedekleme) hala yürütülmelidir. Sadece idam edildiğine dair bir kanıt bulamıyorum. – JooPalmer

cevap

-2

Cihazınızın yeniden başlatılmış olabileceğini düşünüyorum. Başlangıçta telefonunuzu tcp'ye almak için bir bilgisayardan adb tcpip 5555'u çalıştırmış olmanız gerekir. Ama bu sonsuza kadar sürmez. Telefonunuz yeniden başlatılırsa, bir bilgisayardan adb tcpip 5555'u tekrar çalıştırmanız gerekecektir.

Dediğin zaman ne anlama geldiğini emin değilim:

Trying to restart adb(d) in TCP mode is unsuccessful (even though this was not necessary in the working situation). adb tcpip 5555 returns error: device not found.

bir bilgisayardan bu koştunuz mu? Bir bilgisayardan olsaydı o zaman sorunun ne olduğundan emin değilim. Ancak telefondan olsaydı, cihaz tcp'ye dönüşemez.

Bunu düzeltmek için, bir bilgisayardan adb tcpip 5555 çalışmalıdır.

İlgili konular