Tutulma hatası “ADB sunucusu ACK yapmadı, arka plan programı başlatılamadı”


158

SDK'yı güncelledikten sonra Eclipse şu hatayı gösterir:

ADB sunucusu ACK yapmadı, arka plan programı başlatılamadı.

Bir Android uygulamasını çalıştırdığımda, bana aşağıdakileri verir:

Lütfen adb'nin 'D: \ android-sdk-windows \ platform-tools \ adb.exe' konumunda doğru bir şekilde bulunduğundan ve yürütülebilir olduğundan emin olun.

Bu sorunu nasıl düzeltebilirim?


kısa bir süre önce genymotion'u kurdu ve bundan sonra çözüm başladı, adb komutunu terminalden manuel olarak kaldırmak ve ubantu'daki sdk / platform araçlarına işaret eden ortam değişkenlerindeki adb yolunu ayarlamak ve sonra çalıştı.
vikas kumar

Yanıtlar:


263

Teşekkürler @ jowett , aynı adımları çözdüm ve şu adımları uyguladım

Adım 1: CTRL + Shift+ Escadb.exe işlemi olan ve bu işlemi bitiren (öldüren) görev yöneticisini açmak için

Adım 2: Şimdi, şu anda bilgisayarımda çalışmakta olan tutulmayı kapatın.

Adım 3: Yine, tutulmayı yeniden başlatın ve bu sorunu çözdü.


OS X kullananlar için

killall adb

Windows kullananlar için

adb kill-server

hile yapmalı.


40

Aynı problemle karşılaştım, buna sebep olan şey olmadı. Her neyse, bazı ipuçları bulup sonunda düzelttim.

SDK ve AVD yöneticisini açtığımda, ancak AVD sürümünü (2.3.3) bulmak android lib sürümü (2.3) ile aynı değil. Bu yüzden 2.3 ile yeni bir AVD oluşturuyorum.

Aşağıdaki adımlarla düzelttim: 1. Windows görev yöneticisini açın ve adb.exe işlemini öldürün. 2. Tutulmayı kapatın ve yeniden başlatın. Sonra işe yarıyor.

Umarım yardımcı olur.


35

Bu belirtiler, Android Studio ile aynı anda Genymotion öykünücüsünü (Windows veya Linux'ta) kullanıyorsanız oluşur:

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

Genymotion adb, Android SDK'da paketlenmiş olana müdahale eden kendi kopyasını içerir .

Düzeltmenin en kolay yolu, Android SDK'nızla aynı ADB'yi kullanması için Genymotion Ayarlarınızı güncellemek gibi görünüyor:

genymotion ADB ayarları

"Özel Android SDK araçlarını kullan" seçeneğini işaretlemeniz ve istediğiniz konumu girmeniz yeterlidir.


Android Studio'yu 2.1.2'ye güncelledikten sonra benim için çalışıyor.
Noel Bautista

35

ADB, içinde yeni satır varsa genellikle başarısız olur adb_usb.ini. Çıkarın, yeniden başlatın ve bu genellikle sorunu çözecektir (en azından benim için yine de).


Kindle Fire ile hata ayıklamaya çalışırken ~ / .android / adb_usb.ini bu dosyaya bir giriş yapmak istedi, ama bilmeden birkaç ekstra boş satır ekledi. Şimdi kaldırıldı. düzeltildi, teşekkürler.
Thiru

35

Komut istemi (cmd.exe):

netstat -aon | findstr 5037

0.0.0.0 işlem kimliğini bulun:

Resim açıklamasını buraya girin

Adb.exe olduğundan emin olun:

tasklist | findstr 1980

Resim açıklamasını buraya girin

Bu işlemi öldür:

taskkill /f /t /im adb.exe

Resim açıklamasını buraya girin

ADB'yi normale döndürün:

Resim açıklamasını buraya girin

Kredi: blog yazısı * Android ADB sunucusu ACK daemon'u başlatamadı *


Benim tarafım tfadb.exe, öldürdükten sonra çalışıyor, teşekkürler.
BobGao

Benim durumumda, svchost.exe bağlantı noktasını kullanıyordu. Öldükten sonra başarıyla başladı.
ranka47

13

Cihaz için bir senkronizasyon uygulaması kullanıyorsanız, bunun nedeni aynı 5037bağlantı noktasını kullanan başka uygulamalar da olabilir . Bağlantı noktasında çalışan tüm hizmetleri kapatın 5037ve ADB'yi başlatmayı deneyin.

Herhangi bir uygulamanın 5037 numaralı bağlantı noktasını kullanıp kullanmadığını kontrol etmek için şunu kullanın:

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

Uygulamanın PID'sini alın.

İşlemi bulmak ve işlemden çıkmak için İşlem Gezgini'ni kullanın .

Şimdi ADB sunucusu durumunu başlatmak / kontrol etmek için adb start-serverveya adb get-statedüğmesini kullanın .

Snappea / Wandoujia Sync uygulamasını kullandığımda sorunla karşılaştım.


Teşekkürler! svchost.exe aniden bu bağlantı noktasını kullanıyordu.
Jacob L

Bu ne zaman sabit olacak bilmiyorum ama hala sabit olmamak utanç verici.
Dejan

8

~ / .Android / adb_usb.ini sonunda fazladan boş bir satır girerek bu soruna neden oldum

(Fazladan boş satırın kaldırılması sorunu çözdü)


Sadece sonuncusu değil, tüm boş satırları kaldırarak benzer bir sorunu düzeltin.
Pavel

2
Aynı sorunu yaşadım çünkü Kindle Fire hatlarına girerken sonuna boş bir satır ekledim. Boş satırı kaldırdım ve adb sorunsuz bir şekilde yeniden başlatıldı. Teşekkürler.
Jerome Mouneyrac

7

Bu sorunu çok kolay çözebiliriz.

  1. Bir komut istemi açın ve cd <platform-tools directory>
  2. Komutu çalıştır adb kill-server
  3. Windows Görev yöneticisini açın ve adbhala çalışıp çalışmadığını kontrol edin . Eğer öyleyse, sadece öldüradb.exe
  4. adb start-serverKomut isteminde komutu çalıştır

Resim açıklamasını buraya girin


Eclipse'i yeniden başlatmaya gerek yok! :)
TWiStErRob

5

İlk sorumu çözdüm: Eclipse'i açın, SDK Yöneticisi'ni açın ve açılacak cihazı seçin.

Veya SDK dizinini açabilirsiniz. SDK Yöneticisi'ni açın ve ardından açılacak cihazı seçin

2: Eclipse'i kapatın ve açın.


5

Telefonunuzdaki USB hata ayıklamanın açık olduğundan emin olun. ADB kill sunucusu ve ADB başlangıç ​​sunucusu sorun değildir.

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 *

4

Burada zaten bu soruya başka bir cevap verdim, ancak herkesin merak etmesi durumunda, ADB'yi tekrar çalıştırmak için Eclipse'i yeniden başlatmanız gerekmez. Bir kabuk açın ve komutu çalıştırın:

adb start-server

Sistem özelliklerinizde ADB yolunu ayarlamadıysanız, önce ADB'nin bulunduğu dizine gitmelisiniz (Android \ android-sdk \ platform-tools .... Windows çalıştırıyorum, ' Mac insanlarının bir şeyi nasıl yaptığını bilmiyorum).


2
Önemli değil. Hatayı komut satırından da alıyorum.
IgorGanapolsky

Mac'te bunu nasıl yapacağımın bir yolunu bulamadım. ADB'den çıkmaya zorlama bu yüzden tüm bilgisayarı yeniden başlatmam gerekti. Sonra tekrar çalıştı.
Marcel Bro

2

Sysinternals.com adresine gidin ve henüz yüklemediyseniz TCPVIEW ve PROCESS EXPLORER'ı alın.

Nedense, yakın yuva değişimi tamamlanmadan ADB arka plan programı sona eriyor. (Komut isteminden) "NETSTAT -o" komutunu çalıştırırsanız, CLOSE_WAIT durumunda olan soketi (genellikle 5037) ve sahip olunan işlem numarasını görürsünüz. İşlem Gezgini, işlem kimliğini (arka plan sonlandırıldı) göstermez ve adb.exe (soketi açan) adı verilen işlem kaybolur. (Bulunursa adb.exe varsa, görevi öldürmeyi deneyin ve işlerin temizlenip temizlenmediğine bakın.)

TCPVIEW kullanarak asılı soketi bulun. İşlem adı sütunu, ilişkili işlemin bulunamadığını gösterir. Sağ tıklayın ve "Bağlantıyı Kapat" ı seçin. Soket şimdi kapalıdır ve adb arka plan programı başlatılabilmelidir.


Faydalı. Ayrıca, İşlem Gezgini'nde, Yol sütunu ile [Hata açma işlemi] gösteren bir adb.exe dosyası görürseniz, bu olası suçlu olabilir.
Samik R

2

Benzer bir sorunum vardı. Görev Yöneticisi yaptığı gelen ADB sürecinin varolan örneğini öldürmek değil benim için çalış.

Birkaç gün önce MIPS SDK ve ADT-17'yi daha önce yüklemeye çalışmıştım ve Eclipse bana hata verdi ve bu sorunu çözmedim.

Yani, şimdi, bu ADB sunucusu ACK vermedi, daemon başlatılamadı ... sorunu, Eclipse Yardım 'Güncellemeleri Kontrol Et' yürüttüm menü öğesinde . Herhangi bir güncelleme mevcut değildi, ancak en azından 'ADB sunucusu ACK yapmadı' hatası kayboldu.

Umarım bu birkaç durumda yardımcı olabilir.


1

tip ./adb nodaemon server bir terminalde.

Geri dönerse Invalid content in adb_usb.ini, adb_usb.inidosyanızda bir sorun var..android klasördeki .

adb_usb.iniİçeriğini açın ve silin. Sonra sunucuyu yeniden başlatın ... benim için çalıştı.


1

Android dizininin yolunu kontrol edin. Boşluk vb. İçermemelidir.

Eklentinin Eclipse → Tercihler'de düzgün yapılandırılıp yapılandırılmadığını da kontrol edin .

Benim durumumda her şeyi birden çok kez kontrol ettim, ama hala çalışmıyor. Her şeyi yeniden yüklemek üzereydim, ama bu sitede bir cevap aldım (başka bir yazı).

Virüsten koruma programınızı kontrol edin. Bu, portları adb.exeveya emülatör programlarını vb. Engelliyor olabilir. Bu benim durumumda sorunu çözdü.


1

@Bastet'in çözümüne ek olarak :

Aslında adresi kullanarak süreci öldürmek zorundayız 0.0.0.0:0. Bu yüzden çoğu insan içinadb.exe Görev Yöneticisi'nden çalışıyordu (benim durumumda Görev Yöneticisi'nde bile göremedim).

@Bastet adımlarından sonra başka bir işlemin bu adresi kullandığını öğrendim. Bunu öldürmek için önde gitti ve bana sağladığı ACCESS DENIEDolarak Error.

Bu yüzden kullanarak tasklist | findstr ****sürecin adını öğrendim ve Görev Yöneticisi'nden öldürdüm.

Bundan sonra çalışmaya başladı.

Benim durumumda bas_daemon ve bas_helperher ikisi de MOBOROBO'ya karşılık gelen bu adresi kullanıyordum .


0

Ben de aynı problemi yaşadım. Ancak adbdizüstü bilgisayarımda hiçbir işlem olmadı . Sadece çıkış yapıp hesabımda oturum açtım ve çözüldü ...

Bundan sonra ADB, CMD pencerelerinden başlayabilir.


0

Herhangi bir cihazı veya yazılımı yeniden başlatmadan en iyi ve en etkili yol:

Aşağıdakileri çalıştırın:

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

Ve bir şey daha .. ADB kendine bağımlı bir şey. Çalışmasını istemedikçe hiçbir şey yapamazsınız. Öğrenmem için bir yol daha var: Cihazı 5-6 dakika bağlı halde bırakın ve bekleyin. Yakında cihaz bağlanır ve başlatılmaya çalışır.


0

Samsung Galaxy S III telefonumu rootlayana kadar (xda-geliştirici forum rehberini izleyerek) bu benim için olmadı .

Oldukça rasgele olur, ancak Eclipse çalıştırılırken kesinlikle gerçekleşir.

Adb.exe işlemini öldürmek ve yeniden başlatmak sorunu çözer.


0

Antivirüs veya güvenlik duvarına bakın ... Bunlardan herhangi biri erişiminizi engelliyor mu? K7 antivirüsünde sistem monitörünü kapattım ve benim için çalışıyor ...



-1

Tutulmayı öldürmek ve sonra yeniden başlatmak bana yardımcı olmadı. Android aracını PATH değişkenlerine ekledim, Görev Yöneticisi'ni başlattım ve adb.exe'yi öldürdüm.

Eclipse'i yeniden başlattım ve işe yaradı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.