Tại sao chúng ta cần Kies (trình điều khiển ADB) trong Windows mà không phải trong Linux?


11

Tại sao chúng ta cần một trình điều khiển ADB trong Windows mà không phải trong Linux?

Tôi đã làm việc trên Android trong vài tháng qua trong Windows. Để chạy dự án của tôi trên thiết bị Samsung, trước tiên tôi phải cài đặt Kies. Tương tự cho thiết bị LG của tôi có trình điều khiển LG ADB và một trình điều khiển khác cho HTC.

Nhưng khi tôi chuyển sang Ubuntu Linux gần đây, tôi đã không yêu cầu bất kỳ trình điều khiển nào khác như Kies và ADB. Tôi đã có thể gỡ lỗi trực tiếp mà không cần bất kỳ trình điều khiển bên thứ ba. Tại sao vậy?

Tôi biết đó là một cái gì đó rất phổ biến, nhưng tôi không tìm thấy bất cứ điều gì giải thích tại sao lại như vậy.


đã thêm cập nhật # 2 vào câu trả lời của tôi
geffchang

Câu trả lời:


5

Chor WaiChun đã đề cập đến vấn đề này trong một câu hỏi bị khóa mà bạn đã đăng trên StackOverflow :

Tôi đã thấy ở đâu đó nói rằng hành vi này là do cả Android và linux chạy trên cùng một kernel và cùng một tình huống là phát triển Android trên mac. Cả hai hệ điều hành đều chạy trong nhân hệ điều hành rất giống với Android, đó là lý do tại sao chúng không cần bất kỳ trình điều khiển nào. Đây chỉ là những gì tôi nhớ đã thấy từ các chủ đề khác, không thể chắc chắn 100%

CẬP NHẬT # 1: Các trang web Android cũng đề cập đến điều này:

Nếu bạn đang phát triển trên Windows và muốn kết nối thiết bị chạy Android để kiểm tra các ứng dụng của mình, thì bạn cần cài đặt trình điều khiển USB thích hợp. ...

Nếu bạn đang phát triển trên Mac OS X hoặc Linux, thì có lẽ bạn không cần phải cài đặt trình điều khiển USB.Để bắt đầu phát triển với thiết bị của bạn, hãy đọc Sử dụng thiết bị phần cứng.

CẬP NHẬT # 2: Có một nhận xét về StackOverflow liên quan đếnlibusb . Tôi nghĩ rằng đây có thể là lý do tại sao Linux không cần trình điều khiển bổ sung.

Trên thực tế, adb trong Linux truy cập các thiết bị USB bằng libusb mà không cần bất kỳ trình điều khiển hạt nhân cụ thể nào. Ngoài ra adb có một danh sách ID nhà cung cấp được phép sử dụng, nhưng điều này không giải thích vấn đề đang được đề cập, vì ID nhà cung cấp cho cả hai điện thoại là như nhau. Và trong trường hợp có vấn đề về quyền do thiếu các quy tắc udev, các thiết bị adb hiển thị rõ ràng không có quyền hạn trong danh sách, vì vậy đây cũng không phải là nguyên nhân của vấn đề này.


Câu hỏi của tôi là tại sao? Bạn có một số liên kết và tất cả để tôi có thể có được toàn bộ ý tưởng, +1 cho câu trả lời mặc dù!
hemantsb

0

Tôi không chắc tại sao Linux thường không yêu cầu trình điều khiển ADB cụ thể.

Tuy nhiên, có một trình điều khiển Windows USB ADB "phổ quát" hoạt động với hầu hết các thiết bị Android. Nó được phát triển bởi Koushik Dutta (Koush), một nhà phát triển Android nổi tiếng, người làm việc trên ClockworkMod. Nó sẽ làm việc khá tốt cho bạn. Tải xuống tại đây: http://koush.com/post/universal-adb-do


Tôi nghĩ rằng bạn đã hiểu nhầm câu hỏi của tôi, Câu hỏi của tôi là tại sao lại có hành vi này, và tôi biết về trình điều khiển ADB phổ quát.
hemantsb

0

Như những người khác đã trả lời, trong linux có trình điều khiển USB phổ biến, adb sử dụng. Dường như trong Windows không có trình điều khiển USB phổ biến, vì vậy adb sử dụng trình điều khiển "được cung cấp" - khác nhau cho mọi thiết bị / nhà sản xuất.


1
Trong Windows không có trình điều khiển chung được cài đặt sẵn . Tuy nhiên, có sẵn một cái, như Neil chỉ ra . Mặt khác: Không có Kies trên Linux, vì vậy bạn không cần trình điều khiển Kies #D
Izzy
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.