Kesalahan gerhana “Server ADB tidak ACK, gagal memulai daemon”

158

Setelah memperbarui SDK, Eclipse menunjukkan kesalahan ini:

Server ADB tidak ACK, gagal memulai daemon.

Ketika saya menjalankan aplikasi Android, itu memberi saya hal berikut:

Harap pastikan bahwa adb terletak dengan benar di 'D: \ android-sdk-windows \ platform-tools \ adb.exe' dan dapat dieksekusi.

Bagaimana saya bisa memperbaiki masalah ini?

pengwang
sumber
baru-baru ini menginstal genymotion dan setelah itu mulai terjadi solusinya adalah menghapus perintah adb dari terminal secara manual dan mengatur jalur adb dalam variabel lingkungan di ubantu menunjuk ke sdk / platform-tools dan kemudian bekerja.
vikas kumar

Jawaban:

263

Terima kasih, @jowett , saya telah memecahkan masalah saya yang sama, melakukan langkah-langkah ini

Langkah 1: CTRL + Shift+ Escuntuk membuka task manager, yang memiliki proses adb.exe dan akhiri (matikan) proses itu

Langkah 2: Sekarang, tutup gerhana, yang saat ini berjalan di komputer saya.

Langkah 3: Sekali lagi, mulai ulang gerhana kemudian selesaikan masalah itu.


Bagi yang menggunakan OS X

killall adb

Bagi yang menggunakan Windows

adb kill-server

harus melakukan trik.

Horrorgoogle
sumber
40

Saya bertemu masalah yang sama, meskipun saya tidak menyebabkan hal ini. Apa pun, saya menemukan beberapa petunjuk dan akhirnya diperbaiki.

Ketika saya membuka SDK dan manajer AVD, tetapi menemukan versi AVD (2.3.3) tidak sama dengan versi lib android (2.3). Jadi saya membuat AVD baru dengan 2.3.

Saya memperbaikinya dengan langkah-langkah berikut: 1. Buka task manager windows dan bunuh proses adb.exe. 2. Tutup gerhana dan mulai kembali. Lalu berhasil.

Semoga ini bisa membantu.

jowett
sumber
35

Gejala-gejala ini terjadi jika Anda menggunakan emulator Genymotion (pada Windows atau Linux) pada saat yang sama dengan Android Studio:

adb server is out of date.  killing...
ADB server didn't ACK
* failed to start daemon *

Genymotion termasuk salinannya sendiri adb, yang mengganggu yang dibundel dalam Android SDK.

Cara termudah untuk memperbaiki tampaknya adalah memperbarui Pengaturan Genymotion Anda sehingga menggunakan ADB yang sama dengan Android SDK Anda:

pengaturan ADB genymotion

Cukup centang opsi "Gunakan alat Android SDK kustom" dan masukkan lokasi yang Anda inginkan.

Dan J
sumber
Bekerja untuk saya setelah memperbarui Android Studio ke 2.1.2.
Noel Bautista
35

ADB akan sering gagal jika ada baris baru di adb_usb.ini. Hapus, restart, dan itu akan sering menyelesaikan masalah (setidaknya untuk saya pula).

FishGuy876
sumber
ketika mencoba untuk debug dengan Kindle Fire ingin membuat entri di file ini ~ / .android / adb_usb.ini, tetapi tanpa sadar menambahkan beberapa baris kosong tambahan. Sekarang hapus itu. diperbaiki, terima kasih.
Thiru
35

Command prompt (cmd.exe):

netstat -aon | findstr 5037

Temukan id proses 0.0.0.0:

Masukkan deskripsi gambar di sini

Pastikan adb.exe:

tasklist | findstr 1980

Masukkan deskripsi gambar di sini

Bunuh proses ini:

taskkill /f /t /im adb.exe

Masukkan deskripsi gambar di sini

Dapatkan ADB kembali normal:

Masukkan deskripsi gambar di sini

Kredit: posting blog * Server Android ADB tidak ACK gagal memulai daemon *

Mia
sumber
Sisi saya adalah tfadb.exe, setelah membunuhnya, berfungsi, terima kasih
BobGao
Dalam kasus saya, svchost.exe menggunakan porta. Setelah membunuhnya, itu mulai berhasil.
ranka47
13

Jika Anda menggunakan aplikasi sinkronisasi untuk perangkat, bisa juga karena ada aplikasi lain yang menggunakan 5037port yang sama . Matikan semua layanan yang berjalan di pelabuhan 5037dan coba mulai ADB.

Untuk memeriksa apakah ada aplikasi yang menggunakan port 5037, gunakan ini:

netstat -a -n -o |findstr "5037"

Dapatkan PID aplikasi.

Gunakan Process Explorer untuk menemukan Proses dan keluar.

Sekarang gunakan adb start-serveratau adb get-stateuntuk memulai / memeriksa status server ADB.

Saya menghadapi masalah ketika saya menggunakan aplikasi Sinkronisasi Snappea / Wandoujia.

Pradeep Chakravarti Gudipati
sumber
Terima kasih! svchost.exe tiba-tiba menggunakan port itu untuk beberapa alasan.
Jacob L
Saya tidak tahu kapan ini akan diperbaiki tetapi itu memalukan untuk tidak diperbaiki.
Dejan
8

Saya menyebabkan masalah ini dengan memasukkan baris kosong tambahan di akhir ~ / .android / adb_usb.ini

(Menghapus garis kosong ekstra memperbaiki masalah)

nm
sumber
Perbaiki masalah yang sama dengan menghapus semua baris kosong, bukan hanya yang terakhir.
Pavel
2
Saya memiliki masalah yang sama karena saya menambahkan satu baris kosong di akhir ketika memasuki garis Kindle Fire. Saya menghapus baris kosong dan adb dimulai kembali tanpa masalah. Terima kasih.
Jerome Mouneyrac
7

Kami dapat mengatasi masalah ini dengan mudah.

  1. Buka prompt perintah, dan lakukan cd <platform-tools directory>
  2. Jalankan perintah adb kill-server
  3. Buka Windows Task manager dan periksa apakah adbmasih berjalan. Jika ya, bunuh sajaadb.exe
  4. Jalankan perintah adb start-serverdi command prompt

Masukkan deskripsi gambar di sini

Manesh Appukuttan
sumber
Tidak perlu memulai ulang Eclipse! :)
TWiStErRob
5

Saya telah memecahkan pertanyaan pertama saya: Buka Eclipse, buka SDK Manager, dan pilih perangkat untuk dibuka.

Atau Anda dapat membuka direktori SDK. Buka SDK Manager, lalu pilih perangkat yang akan dibuka

2: Tutup Eclipse, dan kemudian buka.

pengwang
sumber
5

Pastikan USB debugging di ponsel Anda dihidupkan. Server pembunuh ADB dan server mulai ADB bukanlah masalahnya.

C:\Documents and Settings\Administrator> adb nodaemon server

 - cannot bind 'tcp:5037'

C:\Documents and Settings\Administrator> netstat -aon | findstr "5037"

 - TCP 127.0.0.1:1130 127.0.0.1:5037 TIME_WAIT 0
 - TCP 127.0.0.1:1269 127.0.0.1:5037 TIME_WAIT 0
 - TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3088
 - TCP 127.0.0.1:5037 127.0.0.1:1128 TIME_WAIT 0
 - TCP 127.0.0.1:5037 127.0.0.1:1129 TIME_WAIT 0
 - TCP 127.0.0.1:5037 127.0.0.1:1270 TIME_WAIT 0

C:\Documents and Settings\Administrator>tasklist -fi "pid eq 3088"

 - Image name PID session name session # memory usage

========================= ====== ================ === ===== ============

 - adb.exe 3088 Console 0 3,816 K

C:\Documents and Settings\Administrator>taskkill /f /pid 3088

 - Success: terminate the PID for the process of 3,088.

C:\Documents and Settings\Administrator>adb start-server

 - daemon not running. starting it now on port 5037 *
 - daemon started successfully *
Albert
sumber
4

Saya sudah memilih di atas jawaban lain untuk pertanyaan ini, tetapi kalau-kalau ada yang bertanya-tanya, Anda tidak perlu memulai kembali Eclipse untuk menjalankan ADB lagi. Cukup buka shell dan jalankan perintah:

adb start-server

Jika Anda belum menetapkan jalur ke ADB dalam properti sistem Anda, maka Anda harus terlebih dahulu pergi ke direktori di mana ADB ada (di Android \ android-sdk \ platform-tools .... Saya menjalankan Windows, saya tidak tahu. t tahu bagaimana orang mac melakukan sesuatu).

dell116
sumber
2
Itu tidak masalah. Saya mendapatkan kesalahan dari baris perintah juga.
IgorGanapolsky
Saya tidak menemukan cara bagaimana melakukannya di Mac. Berhenti secara paksa dari ADB tidak membantu sehingga saya harus memulai ulang seluruh komputer. Kemudian berhasil lagi.
Marcel Bro
2

Jalankan ke sysinternals.com dan ambil TCPVIEW dan PROCESS EXPLORER, jika Anda belum menginstalnya.

Untuk beberapa alasan, dasmon ADB berakhir sebelum pertukaran tutup soket selesai. Jika Anda menjalankan (dari prompt perintah) "NETSTAT -o", Anda akan melihat soket (umumnya 5037) dalam keadaan CLOSE_WAIT dan nomor proses yang dimiliki. Process Explorer tidak akan memperlihatkan ID proses itu (daemon dihentikan), dan proses yang disebut adb.exe (yang membuka soket) akan hilang. (Jika adb.exe jika ditemukan, coba matikan tugas dan lihat apakah semuanya beres.)

Menggunakan TCPVIEW, cari soket yang digantung. Kolom nama proses akan menunjukkan proses terkait tidak dapat ditemukan. Klik kanan, dan pilih "Tutup Koneksi". Soket sekarang ditutup, dan daemon adb harus dapat memulai.

HiTechHiTouch
sumber
Bermanfaat. Juga, di Process Explorer, jika Anda melihat adb.exe berjalan dengan kolom Path yang menunjukkan [Proses pembukaan kesalahan], itu bisa menjadi penyebabnya.
Samik R
2

Saya punya masalah serupa. Membunuh instance proses ADB dari Task Manager yang ada tidak berhasil untuk saya.

Hanya beberapa hari yang lalu, saya telah mencoba menginstal MIPS SDK dan ADT-17 sebelumnya dan Eclipse memberi saya kesalahan, dan saya tidak memperbaiki masalah itu.

Jadi, sekarang, ketika saya mendapatkan server ADB ini tidak ACK, gagal memulai daemon ... masalah, saya mengeksekusi 'Periksa Pembaruan' di item menu Bantuan Eclipse . Tidak ada pembaruan yang tersedia, tetapi setidaknya kesalahan 'ADB server tidak ACK' hilang.

Saya harap ini dapat membantu dalam beberapa kasus.

Chand51
sumber
1

Ketikkan ./adb nodaemon serverterminal.

Jika kembali Invalid content in adb_usb.ini, maka ada masalah dengan adb_usb.inifile Anda di .androidfolder.

Buka adb_usb.inidan hapus isinya. Kemudian restart server ... itu berhasil untuk saya.

aashishdhawan
sumber
1

Periksa jalur direktori Android. Seharusnya tidak mengandung spasi, dll.

Periksa juga apakah plugin telah dikonfigurasi dengan benar di Eclipse → Preferences .

Dalam kasus saya, saya sudah memeriksa semuanya beberapa kali, tetapi masih tidak berfungsi. Saya akan menginstal ulang semuanya, tetapi saya mendapat jawaban di situs ini (beberapa posting lain).

Periksa antivirus Anda. Mungkin memblokir port adb.exeatau program emulator, dll. Itu memecahkan masalah dalam kasus saya.

pengguna1372837
sumber
1

Selain solusi @Bastet :

Sebenarnya kita harus mematikan proses menggunakan alamat 0.0.0.0:0. Itu sebabnya sebagian besar orang yang membunuh adb.exedari Task Manager berfungsi (dalam kasus saya, saya tidak dapat melihatnya bahkan di Task Manager).

Mengikuti langkah-langkah @Bastet , saya menemukan bahwa beberapa proses lain menggunakan alamat ini. Aku pergi ke depan untuk membunuhnya, dan itu memberi saya ACCESS DENIEDsebagai Error.

Jadi dengan menggunakan tasklist | findstr ****saya menemukan nama proses dan membunuhnya dari Task Manager.

Setelah itu mulai bekerja.

Dalam kasus saya bas_daemondan bas_helpermenggunakan alamat ini yang keduanya sesuai dengan MOBOROBO .

DeltaCap019
sumber
0

Saya memiliki masalah yang sama. Tapi tidak ada proses adbdi laptop saya. Saya baru saja keluar dan masuk ke akun saya, dan sudah diselesaikan ...

ADB dapat mulai dari windows CMD setelah itu.

Chuck.Zhou
sumber
0

Cara terbaik dan paling efisien tanpa memulai ulang perangkat atau perangkat lunak apa pun adalah:

Jalankan yang berikut ini:

adt-bundle-windows-x86_64\sdk\platform-tools\adb.exe

Dan satu hal lagi .. ADB adalah hal yang mandiri. Anda tidak dapat melakukan apa pun sampai kecuali itu ingin dirinya berfungsi. Ada satu cara lagi yang saya temukan: Biarkan perangkat terhubung selama 5-6 menit dan tunggu. Segera perangkat terhubung dan mencoba meluncurkan.

Veer Shrivastav
sumber
0

Ini tidak mulai terjadi pada saya sampai saya me-root ponsel Samsung Galaxy S III saya (mengikuti panduan forum xda-developer).

Ini terjadi secara acak, tetapi pasti terjadi saat menjalankan Eclipse.

Membunuh proses adb.exe dan memulai kembali menyelesaikan masalah.

Nathan Perrier
sumber
0

Lihatlah antivirus atau firewall ... Apakah ada yang menghalangi Anda dari akses ... Di antivirus k7 saya mematikan monitor sistem, dan itu berfungsi untuk saya ...

Sha Beer
sumber
-1

Saya harus mengizinkan adb.exe untuk mengakses jaringan saya di firewall saya.

Terel
sumber
1
Saya menggunakan firewall ini: sphinx-soft.com/de/Vista/order.html Yang saya lakukan hanyalah mengubah aturan adb.exe menjadiallow all
Terel
-1

Membunuh Eclipse dan kemudian me-reboot tidak membantu saya. Saya menambahkan alat Android ke variabel PATH, memulai Task Manager dan membunuh adb.exe.

Saya memulai ulang Eclipse, dan kemudian berhasil.

Kristy Welsh
sumber