การเชื่อมต่อที่สร้างขึ้นถูกยกเลิกโดยซอฟต์แวร์ในเครื่องโฮสต์ของคุณ


134
[2011-04-11 13:27:36 - ddmlib] การเชื่อมต่อที่สร้างขึ้นถูกยกเลิกโดยซอฟต์แวร์ในเครื่องโฮสต์ของคุณ
java.io.IOException: การเชื่อมต่อที่สร้างไว้ถูกยกเลิกโดยซอฟต์แวร์ในเครื่องโฮสต์ของคุณ
    ที่ sun.nio.ch.SocketDispatcher.write0 (Native Method)
    ที่ sun.nio.ch.SocketDispatcher.write (ไม่ทราบแหล่งที่มา)
    ที่ sun.nio.ch.IOUtil.writeFromNativeBuffer (ไม่ทราบแหล่งที่มา)
    ที่ sun.nio.ch.IOUtil.write (ไม่ทราบแหล่งที่มา)
    ที่ sun.nio.ch.SocketChannelImpl.write (ไม่ทราบแหล่งที่มา)
    ที่ com.android.ddmlib.JdwpPacket.writeAndConsume (JdwpPacket.java:213)
    ที่ com.android.ddmlib.Client.sendAndConsume (Client.java:573)
    ที่ com.android.ddmlib.HandleHeap.sendREAQ (HandleHeap.java:349)
    ที่ com.android.ddmlib.Client.requestAllocationStatus (Client.java:419)
    ที่ com.android.ddmlib.DeviceMonitor.createClient (DeviceMonitor.java:840)
    ที่ com.android.ddmlib.DeviceMonitor.openClient (DeviceMonitor.java:808)
    ที่ com.android.ddmlib.DeviceMonitor.processIncomingJdwpData (DeviceMonitor.java:767)
    ที่ com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop (DeviceMonitor.java:635)
    ที่ com.android.ddmlib.DeviceMonitor.access $ 100 (DeviceMonitor.java:42)
    ที่ com.android.ddmlib.DeviceMonitor $ 3.run (DeviceMonitor.java:563)

1
ขอบคุณ Nishant โดยคำตอบที่คล้ายกันนี้ได้กล่าวถึงไว้ที่นี่เช่นกัน ...
kamal_tech_view

1
@Nishant ลิงก์นั้นจะพาฉันไปยังหน้าที่มีลิงก์เช่น "จะวางตรงไหน" ฉันคิดว่าเนื้อหาถูกย้าย คุณสามารถโพสต์ลิงค์ใหม่ได้หรือไม่?
msknapp

ดูคุณสมบัติ> Java Build Path อาจกำลังมองหาไลบรารีที่หายไป
Benny

คำตอบ:


122

ปัญหานี้สามารถแก้ไขได้ง่ายๆโดยปิด Eclipse แล้วเริ่มใหม่ บางครั้ง Eclipse ไม่สามารถสร้างการเชื่อมต่อกับ Emulator ได้ดังนั้นจึงอาจเกิดขึ้นได้ในบางกรณี


8
ไม่ได้ผลสำหรับฉัน ฉันต้องรีสตาร์ทคอมพิวเตอร์อย่างสมบูรณ์เมื่อสิ่งนี้เกิดขึ้น (ซึ่งบ่อยครั้ง!)
Nate

13
@Nate ถ้าคุณรีสตาร์ท adb ด้วย (adb kill-server / adb start-server) จะช่วยให้คุณไม่ต้องรีสตาร์ทคอมพิวเตอร์หรือไม่?
Björn

3
ขอบคุณมาก Bjorn ฉันได้พบลิงค์อื่นและตามคำแนะนำของมันเขียนสคริปต์. bat ด้วยตัวเองที่ทำ "adb disconnect" และ "adb kill-server" ซึ่งช่วยแก้ปัญหาได้โดยไม่ต้องรีสตาร์ท ขอขอบคุณอีกครั้งที่ติดตาม!
เนท

6
ปัญหาเดียวกัน. ฉันมี JetBrains IDEA ทำงานอยู่ การปิด IDEA ช่วยได้
แนช

6
ไม่เพียง แต่คราสสตูดิโอ Android ก็น่าจะเป็นเช่นนั้นเช่นกัน
สตีฟ

69

การชำระเงินอาจมีสองอินสแตนซ์ของ Eclipse ที่ชี้ไปที่ Android SDK เดียวกัน ... เพียงเก็บ Eclipse ไว้หนึ่งอินสแตนซ์แล้วลองอีกครั้ง ... นั่นคือสาเหตุที่คุณได้รับข้อยกเว้นว่า "การเชื่อมต่อที่สร้างไว้ถูกยกเลิกโดยซอฟต์แวร์ในเครื่องโฮสต์ของคุณ" .. ดูรายละเอียดของ android adb (Android Debug Bridge) คุณจะได้รับ ...


2
ปัญหาเหล่านี้สามารถแก้ไขได้ง่ายๆโดยการปิด Eclipse และเริ่มต้นใหม่อีกครั้ง ... เนื่องจาก Eclipse ล้มลงเพื่อสร้างการเชื่อมต่อกับ Emulator สิ่งเหล่านี้จึงเกิดขึ้นในบางกรณี ...
kamal_tech_view

11
ปัญหาของฉันคือ 2 อินสแตนซ์ eclipse กำลังทำงานอยู่!
แมตต์

8
หรืออีกทางเลือกหนึ่งคือ Android Studio และ Eclipse :)
Oleg Vaskevich

19

ฉันได้รับข้อผิดพลาดเหล่านี้ด้วยและก็นิ่งงัน หลังจากอ่านและลองสองคำตอบข้างต้นแล้วฉันยังคงได้รับข้อผิดพลาด

อย่างไรก็ตามฉันตรวจสอบแท็บกระบวนการของตัวจัดการงานเพื่อค้นหาสำเนาของ 'eclipse.exe * 32' ที่หลอกลวงซึ่ง UI ไม่แสดงว่ากำลังทำงานอยู่ ฉันเดาว่าสิ่งนี้น่าจะชัดเจนเนื่องจากข้อผิดพลาดชี้ให้เห็นว่าสาเหตุที่อีมูเลเตอร์ / โทรศัพท์ไม่สามารถเชื่อมต่อได้เนื่องจากมีการเชื่อมต่อกับสำเนาที่สองแล้ว

เรื่องสั้นขนาดยาวตรวจสอบให้แน่ใจผ่านตัวจัดการงานว่าไม่มีอินสแตนซ์ Eclipse อื่น ๆ กำลังทำงานอยู่ก่อนที่จะรีสตาร์ทพีซี!


1
ตรวจสอบด้วยว่าไม่มีกระบวนการจำลองเหลืออยู่หรือไม่
Michael

10

หากคุณพัฒนาใน IDE หลายโปรแกรมหรือโปรแกรมอื่น ๆ ที่เชื่อมต่อกับ AVD คุณควรลองปิดด้วย

Netbeans อาจทำให้เกิดความขัดแย้งกับ eclipse ได้หากคุณตั้งค่าสำหรับ NBAndroid


6

ฉันมีปัญหากับหลาย IDE การปิด Eclipse การฆ่าจากตัวจัดการงานหรือการรีสตาร์ทไม่ได้ช่วย เพิ่งลบ AVD แล้วสร้างใหม่


6

วิธีการแก้ :-

  1. ฉันได้รับข้อผิดพลาดเช่นเดียวกับที่ฉันกำลังเปิดหน้าต่าง eclipse สองหน้าต่างดังนั้นฉันจึงปิดหน้าต่าง eclipse หนึ่งหน้าต่างและเรียกใช้แอปอีกครั้ง คุณจะไม่ได้รับข้อผิดพลาด

  2. รีสตาร์ท (ปิดและเริ่ม) คราสอีกครั้งหากคุณเปิดหน้าต่างคราสเพียงหน้าต่างเดียว


วิธีเรียกใช้ eclipse สองอินสแตนซ์ .. ?
Chaitanya

1
เพียงแค่คุณเริ่มพื้นที่ทำงานที่แตกต่างกันสองแห่งจากไอคอนคราสเดียวกันมันจะทำให้คุณมีคราสสองอินสแตนซ์
Nikhil Kumar

3

ปัญหานี้อาจเกิดขึ้นหากคุณมีอุปกรณ์สองเครื่องที่เชื่อมต่อกับคอมพิวเตอร์ในเวลาเดียวกัน Adb ไม่รองรับการเข้าถึงอุปกรณ์ทั้งสองผ่านคำสั่ง / คอนโซล ดังนั้นหากคุณแก้ไขข้อบกพร่องแอปของคุณหลังจากเชื่อมต่อและยกเลิกการเชื่อมต่ออุปกรณ์ที่สองคุณอาจมีปัญหานี้ วิธีแก้ปัญหาหนึ่งอาจกำลังรีสตาร์ท adb และ / หรือ eclipse หากจำเป็น อาจเป็นเรื่องที่น่ารำคาญในบางครั้งและฉันกลัวว่าจะไม่มีวิธีแก้ปัญหาอื่น


3

ปัญหานี้อาจเกิดขึ้นเมื่อคุณเปิด Android Studio และ Eclipse พร้อมกัน ลองปิดหนึ่งในนั้นและอาจช่วยแก้ปัญหาของคุณได้


2

ในกรณีของฉันฉันใช้Android StudioและEclipseพร้อมกัน AS และคราสกำลังพยายามที่จะสื่อสารอุปกรณ์ / จำลองผ่านadb

วิธีแก้ไข: ฉันปิด Android Studio จากนั้นฉันรีสตาร์ท Eclipse

หวังว่านี่จะช่วยคุณได้ :)


1

ปิดโปรแกรมจำลองหากเปิดไว้แล้ว คลิกขวาที่โปรเจ็กต์ของคุณ -> Run as -> run configuration -> Run หลังจากเปิดตัวโปรแกรมจำลอง: คลิกขวาที่โครงการของคุณ -> เรียกใช้เป็น -> โครงการ Android


1

ฉันพบปัญหานี้ในเครื่องพัฒนา Windows 7 64 บิตของฉันเมื่อใช้ Android Studio 2.1.x และ Android Studio 2.2.x เคียงข้างกัน

ฉันได้ปรับใช้แอปพลิเคชันผ่านอินสแตนซ์ 2.2.x เมื่อวันก่อนและปล่อยให้ IDE ทำงาน วันรุ่งขึ้นฉันติดตั้งแอปพลิเคชันอื่นจาก 2.1.x IDE และนี่คือตอนที่ฉันพบปัญหา

การปิด IDE ทั้งสองแล้วรีสตาร์ท 2.1.x IDE ช่วยแก้ปัญหาให้ฉันได้


0

การรีสตาร์ท eclipse จะช่วยแก้ปัญหาและฆ่า "adb disconnect" จากนั้น "adb kill-server"


0

ในกล่อง Windows ฉันต้องการหลีกเลี่ยงการรีบูตและสิ่งเหล่านี้ใช้ไม่ได้: * / android / adt-bundle-windows / sdk / platform-tools / adb kill-server * / android / adt-bundle-windows / sdk / platform- tools / adb start-server

ดังนั้นสิ่งที่ได้ผลเพื่อให้ adb ทำงานอีกครั้งโดยไม่มีข้อผิดพลาดนี้คือ

  1. รอให้ TIME WAIT เสร็จสิ้นซึ่งใช้เวลาหลายนาที คุณสามารถดูสถานะของพอร์ตและดูว่าเมื่อใดควรรีสตาร์ทดีบักเกอร์ด้วยคำสั่งนี้: "PortQryV2 / PortQry.exe -local" เครื่องมือนี้ดาวน์โหลดได้ที่นี่: http://support.microsoft.com/?id=832919

  2. บังคับปิดพอร์ตด้วย "netsh int tcp reset"


0

สิ่งเดียวที่ใช้ได้ผลสำหรับฉัน (ภายใต้หน้าต่าง) คือเปิด IDE อีกครั้งในฐานะผู้ดูแลระบบ ทั้งหมดทำงานได้อย่างราบรื่นหลังจากนั้น


0

ฉันแก้ปัญหานี้ด้วยการปิด Eclipse แล้วรีสตาร์ทอีกครั้ง บางครั้ง Eclipse ไม่สามารถสร้างการเชื่อมต่อกับ Emulator / อุปกรณ์ได้ดังนั้นจึงอาจเกิดขึ้นได้ในบางครั้ง


0

เรียกใช้ Eclipse Luna และใช้แอพ WifiADB บนโทรศัพท์ของฉันฉันเริ่มได้รับข้อผิดพลาดนี้เมื่อเรียกใช้แอพจาก Eclipse ผิดปกติใน Indigo (ฉันติดตั้ง Luna เมื่อคืน) มันใช้งานได้ดี

ปัญหาสำหรับฉันคือฉันเชื่อมต่อโทรศัพท์กับพีซีเพื่อชาร์จและแม้ว่าจะเรียกใช้สคริปต์. bat เพื่อฆ่า ADB แต่ดูเหมือนว่าอินสแตนซ์ที่สองเริ่มต้นขึ้นเมื่อเรียกใช้ การเสียบโทรศัพท์เข้ากับจอภาพเพื่อชาร์จเมื่อทำการดีบักผ่าน wifi แก้ไขได้ ฉันจำเป็นต้องดีบัก wifi ในบางครั้งเพื่อทดสอบแอปของฉันหยุด / เริ่มเมื่อเปลี่ยนสถานะพลังงาน

แน่นอนว่ามันสมเหตุสมผลที่จะคิด (เป็นไปได้สูง) ฉันไม่ได้ตั้งค่า Luna เหมือนกัน


0

ปัญหานี้จะปรากฏขึ้นหากซอฟต์แวร์สองตัวใช้พอร์ตเดียวกัน
โดยทั่วไป Android studio ใช้พอร์ต 5037
พยายามปิดพอร์ตโดย cmd ตามระบบปฏิบัติการของคุณ
จากนั้นรีบูตสตูดิโอ Android หรือ Eclipse ของคุณ


-2

ฉันมีปัญหานี้ สิ่งที่ฉันพยายาม:

  1. รีสตาร์ท Eclipse
  2. รีสตาร์ท Eclipse & Kill adb ตามที่กล่าวไว้ที่นี่
  3. รีสตาร์ทเครื่องและเปิด Eclipse

นี่คือสิ่งที่ได้ผลสำหรับฉัน

  1. ปิด (ปลั๊กแบบดึง) อุปกรณ์ Android ของฉันรีสตาร์ทเครื่องเปิดอุปกรณ์ Android

หวังว่านี่จะช่วยใครสักคน!



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.