Tìm kiếm

Thiết bị

BlueStacks ADB connect: bật ADB, tìm port và kết nối MAS

Bật ADB trong BlueStacks 5, tìm cổng ADB, kết nối Macro Automation Studio, và sửa lỗi device not found và offline trên Windows và Mac.

  • Windows
  • Mac
  • Giả lập
  • Studio
  • Python SDK
Cơ bản Cập nhật 9 phút đọc
Trong trang này
  1. Trước khi bắt đầu
  2. 1. Cài BlueStacks
  3. 2. Cài đặt khuyến nghị
  4. 3. Bật ADB trong BlueStacks 5
  5. 4. Cổng ADB của BlueStacks và cách MAS quét nó
  6. 5. BlueStacks ADB connect trong MAS
  7. Macro trên BlueStacks
  8. Nhiều instance BlueStacks
  9. Khắc phục sự cố
  10. Bật ADB trong BlueStacks 5
  11. Tìm hoặc đổi cổng ADB
  12. ADB device not found
  13. Thiết bị hiển thị offline
  14. BlueStacks ADB trên Mac
  15. Điều khiển bằng Python

Hướng dẫn này chỉ cách kết nối BlueStacks với Macro Automation Studio (MAS) qua ADB, tức bước BlueStacks ADB connect: bật ADB, tìm cổng ADB, và thêm instance làm thiết bị. Nó bao gồm BlueStacks 5 trên Windows và bản BlueStacks cho Mac Apple Silicon, và kết thúc bằng những lỗi BlueStacks ADB connect mọi người hay gặp nhất.

Trước khi bắt đầu

  • MAS đã cài và đăng nhập trên Windows 10 hoặc 11, hoặc trên Mac Apple Silicon. MAS tải miễn phí để dùng thử; lấy từ trang tải.
  • BlueStacks đã cài từ bluestacks.com và đã khởi động một lần.
  • Instance đã khởi động xong tới màn hình chính Android.
  • Các ứng dụng bạn muốn tự động hóa đã cài và đăng nhập bên trong BlueStacks.

1. Cài BlueStacks

  1. Tải BlueStacks 5 từ trang của nhà cung cấp và chạy bộ cài.
  2. Khởi động BlueStacks và chờ màn hình chính.
  3. Cài và đăng nhập các ứng dụng bạn muốn tự động hóa trước khi thêm thiết bị vào MAS.
  1. Tải bản Apple Silicon, BlueStacks Air, từ bluestacks.com/mac.
  2. Mở DMG và kéo BlueStacks vào Applications.
  3. Khởi động từ Applications và chờ màn hình chính.
Màn hình tải và cài BlueStacks
Cài bản BlueStacks 5 hiện tại và để nó khởi động lần đầu xong.

2. Cài đặt khuyến nghị

MAS so khớp ảnh mẫu từng pixel, nên màn hình không được thay đổi sau khi bạn chụp ảnh mẫu. Mở Cài đặt từ biểu tượng bánh răng ở thanh công cụ bên và đặt:

TabCài đặtGiá trị
Hiệu năngPhân bổ CPU2 nhân; nhiều hơn cũng được trong lúc phát triển
Hiệu năngPhân bổ bộ nhớ4 GB trở lên nếu có
Màn hìnhĐộ phân giảiDọc, 540 x 960
Màn hìnhMật độ điểm ảnh240 DPI

Nhấn Lưu thay đổi và khởi động lại instance khi BlueStacks yêu cầu. Macro viết theo chuẩn cơ sở của MAS mong đợi 540x960240 DPI; macro bạn tự viết mong đợi độ phân giải bạn đã chụp trong Asset Lab. Nếu lần chạy bị giật, đóng ứng dụng nền và cấp thêm nhân và bộ nhớ cho instance.

Cài đặt hiệu năng và màn hình của BlueStacks
Cài đặt Hiệu năng và Màn hình cho một instance MAS ổn định.

3. Bật ADB trong BlueStacks 5

BlueStacks xuất xưởng với ADB tắt. MAS cần nó bật.

  1. Nhấn biểu tượng bánh răng ở thanh công cụ bên để mở Cài đặt.
  2. Nhấn tab Nâng cao.
  3. Bật Android Debug Bridge.
  4. Nhấn Lưu thay đổi.
  5. Ghi lại địa chỉ hiển thị dưới công tắc, ví dụ 127.0.0.1:5555. Số sau dấu hai chấm là cổng ADB. Instance đầu tiên thường nhận 5555; ảnh chụp bên dưới hiển thị 5625.
  1. Mở Cài đặt từ biểu tượng bánh răng ở thanh công cụ bên hoặc biểu tượng menu trên thanh trên cùng.
  2. Tìm tùy chọn Android Debug Bridge. Hướng dẫn cài đặt của nhà cung cấp cho BlueStacks Air liệt kê Performance, Display, Graphics, Preferences và About, và không có công tắc ADB. Các bản BlueStacks cũ hơn cho macOS có công tắc này trong Preferences.
  3. Nếu bản của bạn có tùy chọn, bật nó, lưu, và ghi lại cổng sau 127.0.0.1.
  4. Nếu không có, MAS không kết nối được với bản này. Dùng giả lập khác có mở ADB trên Mac, hoặc một thiết bị cloud.
Màn hình bật ADB của BlueStacks với cổng cục bộ
Tab Nâng cao với Android Debug Bridge đã bật. Cổng ở đây là 5625.

4. Cổng ADB của BlueStacks và cách MAS quét nó

MAS không chạy adb devices để phát hiện giả lập. Nó quét các tiến trình đang chạy và giữ một cổng khi tất cả điều sau đúng:

  • Tên tiến trình chứa hd-player hoặc bluestacks.
  • Cổng nằm giữa 5555 và 8500.
  • Socket nghe trên 127.0.0.1, 0.0.0.0 hoặc mọi giao diện.

Các cổng khớp xuất hiện trong hộp thoại Thêm thiết bị mới với nhãn Bluestacks, ví dụ 5555 - Bluestacks. MAS quét khi bạn mở một nhóm thiết bị và mỗi lần bạn nhấn Làm mới. Mỗi instance BlueStacks nghe trên cổng riêng, nên hai instance cho hai mục.

5. BlueStacks ADB connect trong MAS

  1. Mở Nhóm thiết bị ở thanh bên và mở một nhóm, hoặc tạo nhóm mới.
  2. Nhấn Thêm thiết bị.
  3. Tên thiết bị tối đa 50 ký tự.
  4. Trong Cổng, chọn mục Bluestacks của instance này. Nhấn Làm mới nếu danh sách trống.
  5. Nếu BlueStacks hiển thị một cổng MAS không liệt kê, chọn Cổng tùy chỉnh và gõ vào. MAS chấp nhận 1024 đến 65535.
  6. Tùy chọn, chọn một Macro khởi động.
  7. Nhấn Thêm thiết bị, rồi nhấn Bắt đầu trên thẻ thiết bị.

Thẻ hiển thị Đang kết nối rồi Đang chạy. MAS khởi động máy chủ adb riêng, gỡ mọi mục cũ của 127.0.0.1:<port>, và chạy adb connect tới nó.

Macro trên BlueStacks

Trình ghi macro của BlueStacks phát lại các cú chạm ở tọa độ cố định. Macro MAS là một đoạn mã Python nhìn màn hình trước: so khớp mẫu tìm nút, OCR đọc chữ, và các lần thử lại hấp thụ một lần tải chậm hay một popup. Bắt đầu chạy macro đầu tiên của bạn, Macro nhận diện hình ảnh dựng lại một thao tác đã ghi thành thao tác nhìn màn hình, và Bộ lập lịch chạy nó hằng ngày, hằng tuần hoặc hằng tháng.

Nhiều instance BlueStacks

Các instance tạo trong Trình quản lý đa nhiệm mỗi cái nghe trên cổng ADB riêng. Thêm từng cái làm thiết bị riêng trong cùng nhóm thiết bị, gán cho mỗi cái macro và hồ sơ cài đặt, và dùng Bắt đầu tất cảDừng tất cả trên nhóm. Xem Nhóm thiết bị về tham số và proxy cho từng thiết bị.

Khắc phục sự cố

Bật ADB trong BlueStacks 5

Danh sách Cổng trong MAS trống và adb connect 127.0.0.1:5555 trả lời “cannot connect” hoặc “connection refused”. ADB đang tắt. Mở Cài đặt, nhấn Nâng cao, bật Android Debug Bridge, nhấn Lưu thay đổi, khởi động lại instance, rồi nhấn Làm mới trong Thêm thiết bị mới. Nếu tab Nâng cao không có công tắc này, cài bản BlueStacks 5 hiện tại từ trang của nhà cung cấp.

Tìm hoặc đổi cổng ADB

Cổng nằm dưới công tắc Android Debug Bridge dưới dạng 127.0.0.1:<port>. BlueStacks gán cổng lúc khởi động và chuyển sang cổng khác khi 5555 bận, nên nó có thể thay đổi sau khi bạn tạo, nhân bản hoặc xóa instance; hướng dẫn ADB của nhà cung cấp không ghi nhận ô nào để tự đặt cổng. Khi cổng đổi, nhấn Sửa thiết bị trên thẻ trong MAS và chọn cổng mới. Khởi động các instance theo cùng thứ tự giúp cổng ổn định.

ADB device not found

Thẻ kết thúc ở Lỗi với “Failed to start device”, nhật ký ghi “unable to connect to device”, hoặc mã ném DeviceNotConnectedError.

  • Instance vẫn đang khởi động. Chờ màn hình chính, rồi nhấn Bắt đầu lại.
  • Cổng trên thẻ không phải cổng BlueStacks hiển thị. Sửa bằng Sửa thiết bị.
  • Một bản cập nhật đã tắt ADB trở lại. Kiểm tra tab Nâng cao.
  • Chạy adb connect 127.0.0.1:<port> trong terminal. “connected to” nghĩa là MAS cũng sẽ kết nối được.

Thiết bị hiển thị offline

adb devices liệt kê 127.0.0.1:<port> offline và lệnh bị treo. Daemon adb bên trong instance ngừng trả lời, thường sau khi máy ngủ, cập nhật hoặc có máy chủ adb thứ hai trên máy. Nhấn Dừng trên thẻ, khởi động lại instance, đóng các công cụ khác chạy máy chủ adb riêng, rồi nhấn Bắt đầu; MAS kết nối lại từ đầu. Nếu vẫn offline, khởi động lại MAS để máy chủ adb của nó khởi động sạch. Thêm cách sửa ở Khắc phục sự cố ADB.

BlueStacks ADB trên Mac

Hai điều khác trên Mac. Thứ nhất, MAS cần một tệp nhị phân adb: nó tìm trong gói ứng dụng, rồi trên PATH, rồi trong các thư mục Homebrew. Nếu MAS báo “ADB executable not found. Please install ADB using your package manager”, cài adb bằng Homebrew và khởi động lại MAS:

bash
brew install android-platform-tools

Thứ hai, MAS luôn quay số 127.0.0.1, nên BlueStacks phải chạy trên cùng Mac và mở ADB. BlueStacks Air là bản duy nhất cho Apple Silicon và cài đặt được ghi nhận của nó không có công tắc ADB; không có công tắc đó, MAS không điều khiển được nó.

Điều khiển bằng Python

Khi thẻ ở Đang chạy, src/app.py của macro điều khiển BlueStacks qua gói mas. MAS chọn cổng, nên mã không bao giờ tham chiếu tới nó.

python
import mas

size = mas.get_screen_size()
mas.log(f"BlueStacks screen is {size.width}x{size.height}")

match = mas.find_object_retry(1234, total_tries=3, time_sleep=2.0)
if match:
    mas.click(match.x, match.y)

Đọc Tổng quan SDK về mọi namespace, và Điều khiển giả lập Android từ Python để có đoạn mã đầu tiên hoàn chỉnh.

Bước tiếp theo

Trang liên quan

Trang này có hữu ích không?

Có câu hỏi? Hỏi trên Discord