Lỗi Kết nối với adb không hoạt động và đã xảy ra lỗi nghiêm trọng.


289

Tôi đã dành nhiều ngày cố gắng để khởi chạy bất kỳ chương trình Android nào. Ngay cả "Hello World" cũng cho tôi lỗi tương tự:

"Kết nối với adb không hoạt động và đã xảy ra lỗi nghiêm trọng".

Tôi đang chạy Eclipse v3.5 (Galileo), Google API 2.2.8, trên máy Windows XP.

Tôi đã sử dụng tất cả các thủ thuật tôi có thể tìm thấy trên web: dòng lệnh "adb kill-server", DDMS "reset ADB", tôi đã khởi động trình giả lập cả trước và sau Eclipse và tìm kiếm các cổng được sử dụng bởi các chương trình khác .

Chuyện gì đang xảy ra ở đây? Có sự kết hợp kỳ diệu của các phiên bản Eclipse, Java, ADB, trình giả lập và bất cứ thứ gì khác hoạt động không?


2
Là trình giả lập của bạn hiển thị trong lệnh thiết bị? -# adb devices
Adam Harte

Nếu tất cả những gì bạn đang làm là phát triển Android, bạn có thể chỉ muốn tải xuống Motodev cho Android. Sau đó, tất cả điều này được cấu hình sẵn cho bạn.
Jim

Tôi không quen với lệnh thiết bị. Tôi thấy API của Google là AVD trong cửa sổ "Trình quản lý SDK & AVD của Android" và tôi cũng có thể bắt đầu nó từ đó.
Ted Betz

Tôi đã chạy lệnh thiết bị adb và nhận được "lỗi: ghi lỗi trong khi kết nối".
Ted Betz

Cảm ơn Jim vì đã đăng ký trên trang Motodev. Họ làm cho nó dễ dàng hơn nhiều để cài đặt tất cả các gói. Tuy nhiên, vấn đề tương tự tồn tại. Tôi đoán cùng một Eclipse với cùng một adb không ổn định. Bất kỳ sự giúp đỡ nào cũng được đánh giá cao. Im vào ngày thứ 3 của vấn đề này.
Ted Betz

Câu trả lời:


533

Hãy thử các bước dưới đây:

  1. Đóng Eclipse nếu đang chạy
  2. Chuyển đến thư mục công cụ nền tảng SDK Android trong dấu nhắc lệnh
  3. Loại adb kill-server( Eclipse nên được đóng trước khi ban hành các lệnh này )
  4. Sau đó gõ adb start-server
  5. Không có thông báo lỗi nào được đưa ra trong khi khởi động máy chủ ADB, sau đó ADB được khởi động thành công.
  6. Bây giờ bạn có thể bắt đầu lại Eclipse.

Nó làm việc cho tôi theo cách này.

Khởi động lại điện thoại của bạn là tốt!


19
Trong mac thì đơn giản hơn một chút, tôi đã đi đến các công cụ thư mục bên trong Android sdk. Sau đó tôi nhấp vào tập tin adb và bắt đầu nhật thực một lần nữa.
Hãy tôn trọng Maqsood Basraa

27
Adb đã được chuyển từ / tools / sang / platform-tools /
Gabriël

18
Điều này đã không giúp tôi. Tôi đã có 'Máy chủ ADB không ACK'. Khởi động lại máy tính đã giúp;)
lomza

15
Khi tôi làm adb start-server, tôi đã gặp một lỗi: Máy chủ ADB không ACK. Không thể bắt đầu trình nền.
IgorGanapolsky

52
Ok tôi đã giải quyết vấn đề của mình. Tôi đi đến Trình quản lý tác vụ trong windows7 -> quy trình -> đã chọn adb.exe -> Kết thúc quá trình. Sau đó, tôi đi đến dấu nhắc cmd và gõ adb start-server. Lần này adb thống kê thành công. Tôi chạy eclipe và nó không hiển thị lỗi.
Nishant

106

Sử dụng:

Mở Trình quản lý tác vụ → Các quy trình → adb.exe → Kết thúc quá trình → khởi động lại Eclipse

Điều này làm việc cho tôi.

Và:

Mở Trình quản lý tác vụ → Các quy trình → eclipse.exe → Kết thúc quá trình → khởi động lại Eclipse


6
Điều này làm việc cho tôi. adb kill-server trên dòng lệnh đã không làm điều đó cho tôi.
Brandon O'Rourke

2
Cảm ơn rất nhiều. Đây là cách duy nhất phù hợp với trường hợp của tôi (Eclipse: Indigo, OS: Win7 64-bit)
Hong

Tôi không thấy một quy trình có tên "adb.ext" trong trình quản lý tác vụ của mình. Trình giả lập đang chạy mặc dù.
Kumar Kush

"adb.exe" ... tìm kiếm nó trong các quy trình đang chạy .. không có trong phần cửa sổ mở trong Trình quản lý tác vụ.
Usama Sarwar

1
phương pháp này cũng hiệu quả với tôi khi sử dụng nhật thực juno. Cảm ơn bạn
Thợ may Gaurav

24

Mở trình quản lý tác vụ Windows, hủy tiến trình có tên adb.exe và khởi chạy lại chương trình của bạn.


Tôi thấy bạn là người dùng mới ở đây. Câu trả lời với séc lớn màu xanh lá cây có nghĩa là người đó đã chấp nhận chúng. Khi thêm câu trả lời vào câu hỏi với câu trả lời được chấp nhận, hãy chắc chắn rằng câu trả lời của bạn có một số khác biệt đáng kể, có thể là sự rõ ràng của lời giải thích, chi tiết hoặc cách tiếp cận được thực hiện. Tôi hi vọng bạn thích nơi ở này!
Jason D

4
Cảm ơn. Cách tiếp cận của tôi ở đây không liên quan đến việc khởi động lại Eclipse (nhanh hơn), định vị thư mục công cụ SDK SDK tại dấu nhắc lệnh và gõ hai lệnh (cũng nhanh hơn). Nói cách khác, đó là một bước thay vì sáu bước ban đầu. Mặc dù người đăng ban đầu chấp nhận câu trả lời, tôi nghĩ cách tiếp cận này là một bổ sung đủ lớn (ít nhất là cho những người sử dụng Windows, ít nhất) để đảm bảo đăng bài.
joseph_morris

1
Câu trả lời được chấp nhận không hoạt động, điều này đã có, cảm ơn - Eclipse "Indigo" win7
Mikey G

Bằng cách "khởi chạy lại chương trình của bạn", bạn có nghĩa là khởi động lại Eclipse hoặc chạy lại ứng dụng Android tôi đang viết trong Eclipse?
Solace

12

[2012-07-04 11:24:25 - Kết nối với adb không hoạt động và đã xảy ra lỗi nghiêm trọng.
[2012-07-04 11:24:25 - Bạn phải khởi động lại adb và Eclipse.
[2012-07-04 11:24:25 - Vui lòng đảm bảo rằng adb được đặt chính xác tại '/ home / ASDK / platform-tools / adb' và có thể được thực thi

Tôi nhận ra thư mục của dự án trong Eclipse đã bị đóng. Tôi mở rộng thư mục và dự án khởi động. Tôi biết điều này nghe có vẻ như là "không có trí tuệ". Tôi đã mở các tệp .java trên không gian làm việc và điều đó đủ để khiến tôi nghĩ rằng dự án đã mở.


10

Tôi đã thử điều này bằng cách sử dụng Eclipse Juno và nó hoạt động tốt:

  • Từ danh sách thả xuống của biểu tượng Run, chọn tùy chọn Run Cấu hình.
  • Hãy chắc chắn rằng dự án của bạn được chọn
  • Chuyển đến tab Android
  • Trong phần Launch Action, chọn Launch Chọn tên gói và voila! hãy thử chạy ứng dụng của bạn.

CẬP NHẬT: Nó cũng giúp tiêu diệt quá trình adb.exe từ trình quản lý tác vụ và khởi động lại nó. adb.exe có thể được tìm thấy ở đây: Android \ android-sdk \ platform-tools.

Chúc may mắn


7

Cập nhật các công cụ phát triển Android Eclipse của bạn. Nó làm việc cho tôi.


6

Hãy chắc chắn rằng nó không chạy trong các quy trình quản lý tác vụ. Nếu vậy, kết thúc quá trình và sau đó bắt đầu nó từ một dấu nhắc lệnh như trong câu trả lời trước. Điều này làm việc cho tôi.


1
Hãy chú ý đến ngày của câu hỏi ban đầu. Câu hỏi này đã được trả lời hơn một năm trước với một câu trả lời được chấp nhận.
AJ.

4

Trong tình huống của tôi: Tôi có một cảnh báo tương tự: Kết nối với adb bị sập và đã xảy ra lỗi nghiêm trọng

Tôi đã tìm được giải pháp:

Adb.exe đã được chuyển từ: android-sdk-windows\tools\adb.exeđến android-sdk-windows\platform-tool\adb.exe.

Chỉ có điều. Di chuyển tập tin adb.exeđến \tools. Và khởi động lại Eclipse.


4

Tôi biết câu hỏi này đã được trả lời, nhưng tôi nghĩ rằng tôi có thể thêm rằng tôi thấy vấn đề là quyền của thư mục trong thư mục của tôi android-sdk.

Tôi đã kiểm tra nó bằng cách cấp toàn quyền cho mọi người (tinh ranh, tôi biết ...), và vấn đề đã biến mất. Tôi không chắc chắn sự pha trộn các quyền cụ thể có thể là gì mà nó đang tìm kiếm, nhưng tôi cho rằng một số hoặc dịch vụ khác trong Eclipse không thực thi quyền trên adb.exe. Điều đó nói rằng, tôi hoàn toàn không biết điều này - chỉ muốn đưa nó ra ngoài trong trường hợp người khác có một số hiểu biết về điều này.

Tôi đang chạy Windows 7, 64-bit, 4.2.0 Eclipse và 20.0.0v201206242043 ADT.


4
  1. Chuyển đến thư mục platform-toolstrong cmdcác công cụ nền tảng thư mục có sẵn trong thư mục Android nơi bạn có tệp sao lưu Android.

  2. Gõ như sau

    adb kill-server

    adb start-server

    sau đó gõ

    adb devices
    
    adb kill-server

Bây giờ bạn có thể thấy thiết bị của bạn.


3

Vấn đề này đã làm tôi khó chịu trong nhiều ngày cho đến khi cuối cùng tôi đã tìm ra nguyên nhân gây ra nó. Nó đã trở nên rất tệ, tôi thậm chí không thể cập nhật ứng dụng của mình ngay cả sau khi thử tất cả các đề xuất ở trên.

HTC Sync cũng chạy một quy trình gọi là adb.exe. HTC Sync là chương trình tùy chọn khả dụng khi cài đặt trình điều khiển USB HTC. Gần đây tôi đã cập nhật cài đặt gói HTC và dường như chưa cài đặt HTC Sync trước đó. Kiểm tra các thuộc tính trên adb.exe trong Trình quản lý tác vụ cho thấy nó thuộc về HTC Sync, không phải Android.

Ngay khi tôi gỡ cài đặt HTC Sync khỏi bảng điều khiển, sự cố đã biến mất! (Nó được liệt kê riêng từ trình điều khiển USB để có thể ở lại.) Tôi chưa bao giờ thấy nhiều hơn một phiên bản adb.exe đang chạy. Tôi tò mò muốn biết liệu mọi người có phải giết tiến trình từ Trình quản lý tác vụ hay không, kiểm tra xem liệu đó có thực sự là quá trình Android mà bạn đang giết không?

Vui lòng đọc bình luận của người dùng (Tôi cũng có HTC Thunderbolt): http://www.file.net/ Process / adb.exe.html


2

Đơn giản chỉ cần đi vào Task Manager(người dùng windows) và giết abd.exe(nó vẫn hoạt động bằng cách nào đó). Sau đó bắt đầu Eclipse.

Lỗi

"Kết nối với adb không hoạt động và đã xảy ra lỗi nghiêm trọng"

đã xảy ra sau khi cài đặt plugin cho Android của Netbeans. Sau khi đóng Netbeans, quy trình abd.exevẫn hoạt động. Khi bạn muốn bắt đầu lại Eclipse... bạn sẽ gặp lỗi.

Bạn phải tự tay giết adb.exevà sau đó bắt đầu Eclipse.

Nó làm việc cho tôi.


2

Tôi cũng gặp vấn đề tương tự, và hóa ra chương trình chống vi-rút của tôi (Comodo) đã đóng hộp adb.exe và đó là lý do tại sao nó không hoạt động. Tôi đã đóng phần mềm chống vi-rút và nó hoạt động tốt. Xem xét điều đó.


1

Vấn đề của tôi là tường lửa của tôi đã ngăn ADB liên kết với cổng mà nó muốn.


1

Tôi đã từng gặp vấn đề tương tự

  1. Tôi đã nhập Trình quản lý tác vụ -> tìm adb.exe -> quá trình kết thúc
  2. Chuyển đến thư mục công cụ SDK của Android trong Command Prompt nhấp đúp chuột vào adb.exe

Đó là tất cả


1

Tôi đang chạy Eclipse neon2. trên Mac OS 10.12.4 và tôi đã gặp phải sự cố này sau khi nâng cấp SDK Android của mình lên "Công cụ SDK" mới nhất (v 25.2.5), "Công cụ nền tảng" (v 26) và "Công cụ xây dựng" (v 26) và di chuyển một trong những dự án phát triển của tôi cho Android Studio.

Thật không may, không ai trong số nhiều câu trả lời ở đây làm việc cho tôi.

Điều đã làm là tạo một bản sao riêng biệt của SDK Android trong một thư mục khác và sau đó trỏ Eclipse tới nó thông qua "Tùy chọn -> Android". Bạn sẽ phải sử dụng phiên bản cũ hơn của SDK như được nêu trong câu trả lời SO này .

Sau khi bạn đã tải xuống phiên bản SDK riêng biệt và đặt nó vào một thư mục khác với SDK Android chính của bạn, hãy khởi chạy Trình quản lý SDK (thông qua <separate-sdk>/tools/android) và cài đặt các "Công cụ nền tảng", "Công cụ xây dựng" và phiên bản Android cần thiết. Có hai điều quan trọng cần quan sát ở đây:

  1. Đảm bảo rằng bạn không nâng cấp "Công cụ SDK" của mình ngoài phiên bản đã được cài đặt!

  2. Đảm bảo rằng bạn cài đặt phiên bản "Công cụ xây dựng" nhỏ hơn 26!

Nếu không, bạn có thể gặp phải vấn đề này .


1
  1. Chuyển đến thư mục công cụ của SDK Android của bạn
  2. Chạy đi emulator.exe -avd <your avd>. Sẽ mất một thời gian để trình giả lập chạy.
  3. Khi bạn thấy màn hình chính trên trình giả lập, hãy mở Eclipse và chạy lại chương trình của bạn ...

1

Tôi đã có một vấn đề tương tự. Tôi phát hiện ra rằng có một adb.exe khác đang chạy từ BirdieSync (Công cụ đồng bộ hóa cho Thunderbird). Tôi phát hiện ra với Process Explorer từ Sysiternals, rằng Windows đang chạy một adb.exe không tương thích khác. Chỉ cần đặt con trỏ chuột lên trên tiến trình (trong Process Explorer) và bạn sẽ thấy adb.exe nào được bắt đầu.

Tôi cũng phải giết quá trình BirdieSync, vì nó lại bắt đầu adb.exe sai.

Sau đó, tôi có thể bắt đầu adb.exe đúng, và nó hoạt động tốt.


Bây giờ tôi đã có quan điểm về stackoverflow: tôi thực sự quá muộn với câu hỏi tôi đã đánh dấu "đã giải quyết". Nhưng nó đã giúp tôi tìm ra lỗi của mình và tôi cũng muốn giúp. Chúc may mắn lần sau!
JohnBoy

1

Việc tiêu diệt abd.exe bí ẩn đang hoạt động. Rào cản bất ngờ này đã ngăn tôi trong một thời gian dài. Tôi đã làm tất cả các loại công cụ dòng lệnh và loại bỏ biểu tượng khóa khỏi thư mục người dùng của tôi, nhưng không có gì hoạt động cho đến khi đề nghị đơn giản của bạn là tìm kiếm abd trong các quy trình đang chạy của trình quản lý tác vụ và giết nó.

Một khoanh vùng người mới khác tôi đã phát hiện ra một câu trả lời: không chạy Eclipse khi bất kỳ tệp nào ngoài tệp .java chính đang hoạt động. Ví dụ: nếu bạn chạy nó khi tệp main.xml đang hoạt động, bạn sẽ nhận được các thông báo lỗi không hữu ích, một tệp lẻ được tạo như main.xml.out và nó sẽ không chạy.


1

Tôi thấy đường dẫn của SDK (Tùy chọn * → AndroidVị trí SDK ) là nguyên nhân. Đường dẫn SDK của tôi là như sau:

C:\Program Files (x86)\Android\android-sdk

Các không gian trong đường dẫn là vấn đề. Để làm cho nó hoạt động, bạn phải thay đổi Program Files (x86)thànhProgra~2

Con đường đúng hoàn toàn là C:\Progra~2\Android\android-sdk.

Bây giờ nó sẽ làm việc.


1

Các giải pháp trước đây có thể sẽ làm việc. Tôi đã giải quyết nó bằng cách tải xuống ADT (Công cụ dành cho nhà phát triển Android) mới nhất và ghi đè tất cả các tệp trong thư mục SDK.

http://developer.android.com/sdk/index.html

Khi bạn ghi đè lên nó, Eclipse có thể đưa ra cảnh báo rằng đường dẫn cho SDK chưa được tìm thấy, đi đến Tùy chọn và thay đổi đường dẫn sang thư mục khác (C :), nhấp vào Apply, sau đó thay đổi lại và đặt đường dẫn SDK và bấm Applymột lần nữa


1

Đóng Eclipse

Sử dụng cái này trong terminal:

sudo killall -9 adb

Chạy Eclipse.


1

Nếu bạn đang sử dụng trình giả lập Genymotion:

Hãy chắc chắn rằng đường dẫn SDK được sử dụng cho Genymotion cũng chính là đường dẫn được sử dụng cho Eclipse.

Lỗi này cũng xảy ra nếu hai đường dẫn đó khác nhau.


0

Tôi đã thử các phương pháp trên, kết thúc quá trình adb thông qua trình quản lý tác vụ và tất cả, nó đều không hoạt động. Nhưng khi tôi chạy tệp adb.exe với tư cách quản trị viên thì nó hoạt động tốt.


0

Đây là đoạn script tôi chạy để khởi động lại máy chủ adb (Android Debug Bridge):

#!/usr/bin/env bash

## Summary: restart adb (Android Debug Brdige) server.

## adb binary full path
ADB_BIN=./adb


if pgrep adb >/dev/null 2>&1
then
    echo "adb is running"
    echo "terminating adb ..."
    $ADB_BIN kill-server
    if pgrep adb >/dev/null 2>&1
    then
        echo "did not work"
        echo "kill adb processes by killall"
        killall -9 adb
    else
        echo "terminated"
    fi
else
    echo "adb is not running"
fi

echo "starting adb ..."

$ADB_BIN start-server

echo "adb process:"

echo `pgrep adb`

echo "done"

# END

0

Lần trước tôi phải đối mặt với vấn đề này, đã được giải quyết với adb restart. Nếu bạn đã thử adb kill-serveradb start-server không có may mắn, bạn có thể muốn thử điều này. Khi một lần nữa tôi phải đối mặt với cùng một vấn đề, tôi đã thử tất cả các câu trả lời ở trên, không có may mắn, và đây là lựa chọn cuối cùng để thử. Nó đã làm việc như một lá bùa.

Trình quản lý SDK Goto Android >> Cài đặt các gói thiết yếu.


0

maydenec là chính xác (trong trường hợp của tôi ...). Các tập tin đã được di chuyển.

Tôi thậm chí đã tìm thấy tập tin này:

C:\Program Files (x86)\Android\android-sdk\tools\adb_has_moved.txt

Mà giải thích vấn đề này.

Gợi ý trong tập tin này:

  1. Cài đặt "Công cụ nền tảng SDK Android".
  2. Vui lòng cập nhật biến môi trường PATH của bạn để bao gồm thư mục "platform-tools /".

0

Nó hoạt động với tôi để khởi động trình giả lập AVD của tôi trước (từ trình quản lý AVD), sau đó chạy chương trình của tôi. Những thứ khác được đề cập ở đây.

(Khởi động lại máy chủ ADB không hoạt động.)


0

Nhật thực → tùy chọnAndroidNDK

Kiểm tra đường dẫn "Vị trí NDK" được đặt chính xác và sử dụng nút duyệt để đặt.


0

AndroidSDK → Công cụ nền tảngKill không hoạt động.

Nhưng sau khi khởi động lại máy tính của tôi, nó đã hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.