Android emülatörü-5554 çevrimdışı


136

Emulator-5554 ile ilgili bir sorun yaşıyorum, bana sürekli çevrimdışı olduğunu söylüyor.

adb devicesKomut satırından bir yaptığımda diyor ki

emulator-5554 offline

Yeni bir yeniden başlatmadan sonra bile, bu komutu deniyorum ve hala çevrimdışı olduğunu söylüyor.

Sorun şu ki abd install <path>, komut istemini kullanarak .apk dosyalarını öykünücüye yüklemeye çalıştığımda , bana çevrimdışı olduğunu söylüyor, eğer başka bir cihaz oluşturup onu çalıştırırsam, sonra .apk dosyalarını yüklemeye çalışıyorum, diyor ki çok fazla cihaz bağlı. Yani başka bir deyişle, .apk dosyalarımı yükleyemiyorum.

O lanet emülatör-5554'ten nasıl kurtulabilirim? Yeniden başlatırsanız, tüm cihazları temizlemesi gerektiğini duydum, ancak bu işe yaramıyor gibi görünüyor. Bilgisayarım başladığında başlatılıyor gibi. Bu sorunla karşılaşan var mı?

Teşekkürler


3
Sorunun öykünücü olup olmadığını belirlemek için şunu deneyin: 1. Bir öykünücü açın. 2. Başka bir öykünücü açın. 3. adb devicesöykünücülerin adlarını almak için. 4. Aşağıdakileri çalıştırarak APK'yi yüklemeyi deneyin: adb -s NAME_OF_DEVICE install file.apk5. Bize ne olacağını söyleyin.
Cristian

Eve geldiğimde (şu anda işte) bunu bir deneyeceğim, yüklemek istediğiniz cihazı belirleyebileceğinizi bilmiyordum. Bu gerçekten yardımcı olmalı. Birkaç saat içinde güncelleme yapacağım. Cevap için teşekkürler!
hanesjw

Yorum için tekrar teşekkürler. Söylediğinizi yaparak emülatöre apk yükleyebildim. Bağlantısı kesilmiş olan hala cihazlar listemde kalıyor, ancak tek yapmak istediğim o .apk dosyasını yüklemekti. Tekrar teşekkürler, işe yaradı!
hanesjw

Bu sorunun şunlarla ilgili olduğunu düşünüyorum: stackoverflow.com/questions/6013624/… Bu konuya bir göz atmaya çalışın.
sarmaşık

Bu, sorunuzu yanıtlamaz, ancak sorununuzu çözebilir - emülatörler yerine adb -dbelirtilen usb cihazları, usb cihazları yerine emülatörler adb -eve adb -s NAMEözellikle hangi cihazı istediğinizi belirtmek için kullanılabileceğini düşünüyorum, ancak sonuncusu olup olmadığı konusunda emin değilim. her zaman düşündüğün gibi çalışır.
Erhannis

Yanıtlar:


62

Böyle bir durumda, öykünücünüzün yeniden çalışmaya başladığından emin olmak için aşağıdakilerin tümünü yapabilirsiniz:

  1. Cmd'ye gidin ve yazın adb kill-server
  2. Görev yöneticisine gidin ve bulun adb süreçlerde . Bir tane bulursanız, üzerine sağ tıklayın ve işlem ağacını sonlandır'a tıklayın.
  3. Tutulmada, Pencere> Android Sanal Aygıt Yöneticisi'ne gidin, başlatmak istediğiniz AVD'ye tıklayın, başlat'a tıklayın ve " Anlık Görüntüden Başlat " seçeneğinin işaretini kaldırın ve ardından başlat'a tıklayın.

Bu kadar! Biraz zaman alacak ve sorununuzu çözecektir.


Bu da benim için çalıştı (ADB'yi öldürmek hiçbir durumda sorunumu çözmedi).
Booger

o işlem ağacını bitirir bitirmez, adb çalışan cihazlar listesi temizlendi :) işe yaradı. <3 teşekkürler
DeathRs

10
Android Studio'da, sanal cihaz Önyükleme Seçeneğini Hızlı Önyüklemeden Soğuk Önyüklemeye değiştirmek benim için çalışıyor.
eldes

Visual Studio 2019'dan çalıştırdığımda Android Aygıt Yöneticisi'nde "Anlık Görüntüden Başlat" ayarını nerede bulabilirim?
jacktric

106

1. Bu sorunu çözmek için sadece "Verileri sil".

görüntü açıklamasını buraya girin

2. Çalışmazsa, öykünülmüş cihaza gidin ve geliştirici seçeneklerini etkinleştirin> usb hata ayıklamayı etkinleştirin


1
Uygulamayı emülatörden kaldırmak benim için hile yaptı. Ancak verileri
james

1
Bu, 'Wipe Data'nın hemen altındaki' Cold Boot now 'ile ind kombinasyonuna yardımcı oldu.
S.Gissel

çok fazla, günümü kurtardın
Manh Nguyen

24

Android'in öykünücüleri algılama yöntemi, 5555 numaralı bağlantı noktasından başlayan bağlantı noktalarını taramaktır.

Gördüğünüz numara adb devicesListede (sizin durumunuzda 5554), adb'nin açık bulduğu bağlantı noktasından bir eksik olacaktır.

Muhtemelen 5555 numaralı bağlantı noktasında dinleyen bir işleminiz var. "Çevrimdışı" aygıttan kurtulmak için, bu uygulamayı bulmanız ve kapatmanız veya farklı bir bağlantı noktasını dinleyecek şekilde yeniden yapılandırmanız gerekir.


Soru ADB hakkındaydı. ADB bağlantı noktası numaraları 5555'te başlıyor.
Brigham

2
"Muhtemelen 5555 numaralı bağlantı noktasını dinleyen çalışan bir işleminiz var". Bu bağlantı noktasında başka bir sunucu çalıştırdığımız ve bunu tamamen unuttuğumuz için gerçekten yardımcı oldu!
abhijit

Her zaman 5554'te başladı - tüm bilgisayarlarımda (ev ve iş bilgisayarları) ... ve birden çok emülatör kullanırken her zaman EŞİT (5554, 5556, 5558, 5560, ...).
Phantômaxx

Frank, neden hepsinin eşit olduğunu düşünüyorsun? Bunun nedeni, Android'in aradaki tek numaralı bağlantı noktalarını da kullanmasıdır.
Brigham

Bu bana da yardımcı oldu! 5555'te emülatör 5554 (?) Olarak görünen bir bağlantı noktası açtım. Çalışmayan "sunucuyu yeniden başlat" tarzı yanıtları zaten denemiş olan herkes devam etmeli ve portscan yerel ana makinelerini taramalıdır. ADB'nin USB aygıtlarını daha doğrudan kullanacağını, yerel bağlantı noktalarıma bakmayacağını ve bir protokol kontrolü bile yapmadan orada bir emülatör olduğuna dair varsayımlarda bulunacağını varsaydım.
mvr

22

Bu çözüm Windows içindir.

(Bkz @Chris Knight'ın çözüm için Mac / Linux )

  1. Windows Powershell'i başlatın:

    Başlat -> 'powershell' yazın -> ENTER tuşuna basın

  2. Aşağıdaki komutu çalıştırın: adb devices


PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656   host
emulator-5652   host
12b80FF443      device

Bu durumda, 12b80FF443 benim fiziksel aygıtımdır ve emülatör- * girişleri çöptür.

  1. Başına @Brigham , "Android emülatörlerini algılar bu şekilde port 5555 başlayan portları tarayarak" dedi. Bağlantı noktası numarası, öykünücü adından sonra gösterilir (bu durumda 5656 ve 5652). Kontrol edilecek bağlantı noktası numarası, öykünücü bağlantı noktası numarası artı 1'dir. Yani bu durumda: -

    5656 + 1 = 5657

    5652 + 1 = 5653

    Öyleyse bu portları hangi programın kullandığını görelim. Bu durumda, her ikisinin de kontrol edileceği portlar "565" ile başlar. Bu yüzden 565 ile başlayarak kullanımdaki bağlantı noktalarını arayacağım.netstat -a -n -o | Select-String ":565"


PS C:\Users\CJBS> netstat -a -n -o |  Select-String ":565"

  TCP    127.0.0.1:5653         127.0.0.1:5653         ESTABLISHED     5944
  TCP    127.0.0.1:5657         127.0.0.1:5657         ESTABLISHED     5944
  1. Bu çıktıdaki son alan PID'dir (İşlem Kimliği) - bu durumda bu iki bağlantı noktasının her ikisi için de PID 5944'tür. Öyleyse bu işlem kimliğinin ne olduğunu görelim. Yürütme: tasklist /v | Select-String 5944. 5944'ü önceki komutun çıktısı ile değiştirin:

PS C:\Users\CJBS> tasklist /v | Select-String 5944

adb.exe                       5944 Console                    1      6,800 K Running         MyPCName\CJBS          0:06:03 ADB Power Notification Window

Bu ne sürpriz. ADB. Diğer yanıtların da belirttiği gibi, başka programlar da olabilir.

  1. Şimdi, sadece bu işlem kimliğini sonlandırın. Yürütme kill 5944önceki komuta PID ile 5944 yerine.

PS C:\Users\CJBS> kill 5944
  1. Sahte öykünücünün gittiğini onaylamak için aşağıdaki komutu yeniden çalıştırın: adb cihazları

PS C:\Users\CJBS>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
12b80FF443      device

ADB yeniden başlar (daha önce öldürüldüğü gibi) ve artık sahte emülatör algılamaz.


9

Sonunda gitmek zorunda, bu sorunu çözmüş Geliştirici seçenekleri arasından Ayarlar içinde Emülatörü , sonra USB hata ayıklama açık biraz aşağı kaydırılan. Cihazım anında çevrimiçi olarak tanındı ve artık bu sorunla karşılaşmadım. Android stüdyosunu ve emülatörü yeniden başlatmayı , adb sürecini durdurmayı denedim , ancak bunlar işe yaramadı.


1
sen bir kahramansın!
Felipe Castilhos

Merhaba @Shamsul, Öykünücüdeki Ayarlar'dan Geliştirici Seçeneklerine nasıl erişileceğini açıklar mısınız? Android Studio'da AVD Manager'a başvurduğunuzu varsayıyorum. Bu ileti dizisinde anlatılanla aynı sorunu yaşıyorum ve öneriniz dışında önerilen her şeyi denedim. AVD Yöneticisinde Öykünücü için herhangi bir Geliştirici Seçeneği göremiyorum.
Eddie

Merhaba Eddie, geliştirici seçeneğini açmanın olağan prosedürü, emülatör ve gerçek cihazlar için aynıdır. Yazılım bilgilerinde yapı numarasını bulun, üzerine tekrar tekrar dokunun, belki 7-10 dokunuştan sonra, geliştirici seçeneğinin etkinleştirildiğini göreceksiniz.
Shamsul Arefin Sajib

8

Linux veya Mac kullanıyorsanız ve çevrimdışı aygıtın "emulator-5554" olduğunu varsayarak, aşağıdakileri çalıştırabilirsiniz:

netstat -tulpn|grep 5554

Bu, aşağıdaki çıktıyı verir:

tcp        0      0 127.0.0.1:5554          0.0.0.0:*               LISTEN      4848/emulator64-x86
tcp        0      0 127.0.0.1:5555          0.0.0.0:*               LISTEN      4848/emulator64-x86

Bu bana 4848 işlem kimliğinin (sizinki muhtemelen farklı olacaktır) hala 5554 numaralı bağlantı noktasını dinlediğini söylüyor. Şimdi bu işlemi şu şekilde sonlandırabilirsiniz:

sudo kill -9 4848

ve hayalet çevrimdışı cihaz artık yok!


8

AVD Yöneticisinden açılır menüdeki "Şimdi Soğuk Başlatma" seçeneğini deneyin. Benim için çalıştı!


Muhtemelen bu aşırı karmaşık diğer çözümlere girmeden önce insanların denemesi gereken ilk şey budur ...
ralfoide

7

Benim durumumda, adb'nin iyi çalışmamasına neden olan bir süreç buldum.
Bazı garip işlemleri durdurmayı deneyebilir ve test etmek için "adb cihazları" çalıştırabilirsiniz.

Benim için çalıştı:
MONyog.exe işlem adını öldür


7

Bunu komut istemimi açarak çözdüm:

adb kill sunucusu

adb cihazları

Başladıktan sonra, ADB artık cihazı / emülatörü algılar.


7

Ben de aynı sorunu yaşadım. Burada açıklanan tüm çözümleri denedim ama bana yardımcı olmadılar. Ardından Android Sanal Aygıt Yöneticisi'ndeki tüm emülatörleri kaldırdım ve yenilerini oluşturdum. Sorun, Android Sanal Aygıt Yöneticisinin CPU / ABI sistem görüntüsü yapılandırmasındaydı . Sistem görüntüsüne sahip Windows10 makine öykünücümde, sistem görüntüsüne sahip öykünücünün beklendiği gibi iyi çalıştığı her zaman çevrimdışı . Sadece bunun farkında olx86x86_64


benim durumumda, x86 sistem görüntüleri Windows 10, sadece tüm emülatörü
Dika

1
Çok teşekkür ederim, bunu çalıştırmak için çok zaman harcadım ve bu benim
sorunumdu

Burada da aynı, ancak Windows 7'de
Viktor Brešan

5

Sadece yaz

adb -e reboot

ve adb ile mutlu ol))


Bu, ADB'ye öykünücüyü yeniden başlatmasını söyler. Çevrimdışı olarak işaretlenmişse çalışamaz.
shkschneider

daha önce rm -Rf ~/.androidçevrimdışı cihazları temizlemek için çalıştırdıysanız çalışır . En iyi komut ve tek sorunumu çözmek için. Hayır kill-serverya start-serverda hile yaptım.
Victor R. Oliveira

4

"Kullanıcı verilerini sil" seçeneği nihayet sorunumu çözdü. öykünücüyü her başlattığınızda yalnızca kullanıcı verilerini silin. Bu her zaman benim için çalışıyor! Windows 8 x64 kullanıyorum, tutulma


Yukarıdakilerin hepsini denedim, ancak yalnızca kullanıcı verilerini silme işlemiyle çalıştı.Teşekkürler
Sai Ram

@SaiRam, yukarıdakilerin hepsini denemediniz, çünkü bu ipucu birkaç cevapta tekrarlandı. Ayrıca Cold Boot Nowyardımcı olur.
CoolMind

@SaiRam, üzgünüm. :) Teşekkürler.
CoolMind

4

Emülatörünüzde USB Hata Ayıklamayı etkinleştirin

  1. Ayarlar> Telefon Hakkında> Yapı numarası> Geliştirici olmak için 7 kez dokunun;
  2. Ayarlar> Geliştirici Seçenekleri> USB Hata Ayıklama.

Bu zevk


USB hata ayıklamayı yeniden etkinleştirmek bana yardımcı oldu (kapatıp aç)
Maxim Mazurok

4

Eylemler açılır menüsündeki AVD yöneticisi listesinden: Şimdi Soğuk Başlatma

yukarıdaki tüm acı olmadan yeniden başlatır.


2

AVD'nizi silmeyi ve yeniden oluşturmayı denediniz mi? AVD dosyalarını, saklandıkları dizine (kullanıcınızın /.android/avd alt dizininde) giderek manuel olarak silebilirsiniz.


Merhaba, cevap için teşekkürler. Aslında bunu denedim. Hala orada. Her şeyi yeniden kurmaya meyilliyim.
hanesjw

2

Windows görev yöneticisine gidin ve "adb.exe" işlemini sonlandırın. Aynı işlemin birden fazla örneği olabilir, hepsini sonlandırdığınızdan emin olun.


1
"Adb kill-server" a ne dersiniz?
DagW

2

Bluestacks yüklü mü? Bunu yaparsanız, çalıştırdığı arka plan işlemleri çevrimdışı aygıt "emulator-5554" oluşturur.

Görev yöneticisine gidin ve tüm işlemleri "Bluestacks" açıklamasıyla sonlandırın


2

linux veya mac'da engellenen bağlantı noktası emulator-id + 1 yani 5555 olacak: sudo lsof -i :5555 olacak, size bağlantı noktasını alan işlemin pid'ini gösterecek (ikinci sütun olmalıdır), böylece onu öldürmek için: sudo lsof -i :5555 | awk '{print $2}' | xargs kill

o zaman adb (sahte) cihazlar artık listede gösterilmeyecek


2

Benim durumumda, emülatör Oreo ve daha düşük bir seviyede çalışıyordu, ancak Pie ile çalışmıyordu ve denediğim her şeyin bir etkisi yok gibiydi. Sonunda işe yarayan şey, emülatörü en son sürümüne güncellemekti (sürüm 28).


ben de çok can sıkıcı
Analizer

2

Benim durumumda, 'Şimdi Soğuk Önyükleme' ile başladım ve bağlantıya izin vermek için Mesaj'a tıkladım.


2

emülatörünüzü açın,

ayarı -> öykünülmüş cihaz hakkında -> art arda Yapı numarası'nı tıklayın -> geliştirici seçeneklerini açın -> USB hata ayıklamayı açın


Sorun şu ki, emülatör sadece siyah bir ekrana sahip. Bunu yalnızca ayarlara erişebiliyorsanız yapabilirsiniz.
Jeanne

1

Kullandığım adb revizyonu yeni olmadığında öykünme ortamının "çevrimdışı" olarak geldiğini buldum. Yollarımı düzgün bir şekilde güncelledim (ve eski adb sürümünü sildim) ve "adb kill-server", "adb devices" üzerine, emülasyon ortamı artık "çevrimdışı" olarak gelmedi.

O noktadan sonra hemen "adb shell" kullanmaya başladım.


1

Bunu dene ...

  1. Çalışıyorsa emülatörü kapatın.

  2. Emülatörü tekrar başlatın ve çevrimiçi olmasını bekleyin.

  3. komut isteminde Command yazın ve ENTER tuşuna basın: adb tcpip 5555

(Aynı anda yalnızca bir öykünücünün çalıştığından emin olun.)

  1. adb -s emülatörü-5555 emu öldürme

  2. Enter Tuşuna Basın ....

  3. Bitti.

  4. cmd'deki "adb devices" komutuyla cihazları kontrol edin.


1

Öykünücü zaten açıksa veya çalıştırılıyorsa, size çevrimdışı olduğunu söyleyecektir. Komut Satırını (Ubuntu) iki kez kontrol edebilir ve şunları çalıştırabilirsiniz:

 adb devices

Öykünücünüzü çevrimdışı görmelisiniz, öykünücünün çalışan örneğini kapatmanız gerekir (bağlantı noktası meşgul olarak göstereceğinden) ve bundan sonra uygulamanızı çalıştırabilirsiniz. Umarım bu birine yardımcı olur.


1

Her şeyi denedim ama sadece bu benim durumum için çalışıyor: SDK yöneticisini kullanın ve sistem görüntüsünü yeniden yükleyin. Android Studio, Yapılandır'ı tıklayın, SDK Yöneticisi, Bağımsız SDK Yöneticisini Başlatın, Tüm "Google API'leri Intel x86 * Sistem Görüntüsü", "Intel x86 Atom * Sistem Görüntüsü" nü kontrol edin ve yükleyin. Ardından Android stüdyosunu yeniden başlatın.

Sanal cihazı AVD Manager ile yeniden yapılandırmanız ve silmeniz gerekebilir, x86 sürümünü seçtiğinizden emin olun.


Benim için çalışan x86_64 sürümüydü, diğerleri işe yaramadı
hiddeneyes02

1

Etkinleştirme ADB entegrasyonunuzun işaretlendiğinden emin olun; Araçlar> Android> ADB entegrasyonunu etkinleştir'e gidin.

işaretlenmezse, bu seçeneği işaretleyin ve sanal cihazınızı kapatıp yeniden açın. bu benim için çalıştı .. iyi şanslar !!


1

Sanal cihazımla aynı sorunu yaşadım. Sorun, Play Store'un entegre edildiği sanal cihazların Oreo görüntüsünden kaynaklanmaktadır. Bu sorunu çözmek için Play Store entegre olmadan yeni bir cihaz kurdum ve her şey yolundaydı.

Umarım yardımcı olur, hoşçakal


ne tuhaf bir durum, ama benim için de düzeltti.
reidisaki


0

Benim durumumda sebep, içinde android-x86 bulunan bir sanal makineye devam etmemdi. VM'yi Android-x86 ile yeniden başlatmak ve adb sunucusunu yeniden başlatmak sorunu çözdü.


0

Bunun nedeni, makinenizde başka bir sanal aygıtın kurulu olmasıdır. Ben de benzer bir sorunla karşılaştığım için Bluestacks olabilir . Bluestacks'ı kaldırdım ve sonra adb devices iyi çalıştığını kontrol ettim .

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.