ADB và kiểm thử ứng dụng Android

Khả năng chạy ứng dụng Android trên Chromebook là một điểm cộng lớn, giúp người dùng có quyền truy cập vào vô số sản phẩm trong hệ sinh thái Android và giúp nhà phát triển Android có cơ hội tiếp cận người dùng ChromeOS.

Nhà phát triển nên kiểm tra ứng dụng của họ trên nhiều hệ số hình dạng, vì điều này sẽ giúp cải thiện trải nghiệm của người dùng. Đó là lý do ChromeOS cung cấp cho nhà phát triển Android các công cụ để triển khai và kiểm thử ứng dụng của họ trên Chromebook.

Cho dù nhà phát triển triển khai ứng dụng Android của họ trực tiếp từ ChromeOS (bằng Android Studio trong Chromebook) hay từ một thiết bị khác, họ đều có thể sử dụng ADB để triển khai ứng dụng và gỡ lỗi các hoạt động tương tác khác nhau với Chromebook. Để biết thêm thông tin chi tiết, hãy xem các bước bên dưới.

Bật chế độ gỡ lỗi ADB

Trước đây, bạn chỉ có thể sử dụng ADB trên Chromebook khi ở chế độ nhà phát triển. Chế độ này yêu cầu bạn chạy powerwash (đặt lại) thiết bị và có thể làm giảm tính bảo mật. May mắn là kể từ Chrome 81, nhà phát triển có thể giữ thiết bị ở chế độ nhà phát triển và vẫn triển khai các ứng dụng mà họ phát triển ngay trong ChromeOS chỉ bằng một thao tác chuyển đổi. Cách thực hiện:

Trước tiên, hãy đảm bảo Chromebook không ở chế độ nhà phát triển. Sau đó, chuyển đến phần cài đặt và bật Linux (nếu bạn chưa bật trước đó).

Bật Linux

Sau khi Linux có sẵn, hãy mở phần cài đặt Linux và bạn sẽ thấy một lựa chọn mới là "Phát triển ứng dụng Android", hãy mở lựa chọn đó.

Bật tuỳ chọn gỡ lỗi ADB và máy tính sẽ khởi động lại.

Bật tính năng gỡ lỗi qua ADB

Khi máy tính khởi động lại, bạn sẽ thấy một thông báo cho biết có thể có những ứng dụng không được tải xuống từ cửa hàng ứng dụng trên thiết bị.

Thiết bị này có thể chứa những ứng dụng mà Google chưa xác minh

Giờ đây, bạn có thể dùng ADB để triển khai ứng dụng cho Chromebook, chạy các lệnh gỡ lỗi và tương tác trực tiếp với thiết bị.

Để đảm bảo ứng dụng Android của bạn hoạt động tốt trên nhiều thiết bị Chromebook và kiểu dáng hiện có, Google khuyên bạn nên kiểm thử ứng dụng trên các thiết bị sau:

  • Chromebook chạy trên nền tảng ARM
  • Chromebook dựa trên x86
  • Một thiết bị có màn hình cảm ứng và một thiết bị không có màn hình cảm ứng
  • Thiết bị có thể chuyển đổi; tức là thiết bị có thể thay đổi giữa máy tính xách tay và máy tính bảng
  • Thiết bị có bút cảm ứng

Triển khai từ ChromeOS

Sau khi bật chế độ gỡ lỗi ADB, bạn có thể tải trực tiếp một ứng dụng Android lên thiết bị ChromeOS bằng Android Studio. Nếu có tệp APK, bạn có thể tải tệp đó bằng Terminal.

Triển khai bằng Android Studio

Sau khi thiết lập Android Studio và ADB như mô tả ở trên, bạn có thể chuyển trực tiếp các ứng dụng của mình vào vùng chứa Android của Chromebook từ Android Studio.

Chromebook sẽ xuất hiện dưới dạng một lựa chọn trong trình đơn thả xuống thiết bị:

Trình đơn thả xuống thiết bị của Android Studio

Giờ đây, bạn có thể đẩy ứng dụng của mình như bất kỳ thiết bị Android nào khác! Hộp thoại uỷ quyền ADB sẽ xuất hiện vào lần đầu tiên bạn tìm cách đẩy đến một thiết bị mới. Sau khi bạn uỷ quyền, ứng dụng của bạn sẽ khởi chạy trong một cửa sổ mới.

Kết nối với thiết bị thông qua ADB trong Android Studio

Vậy là xong, giờ đây bạn có thể triển khai ứng dụng cho Chromebook, kiểm thử và gỡ lỗi mà không gặp phải rắc rối khi ở chế độ nhà phát triển.

Triển khai bằng Terminal

Cài đặt ADB nếu cần:

sudo apt install adb

Kết nối với thiết bị:

adb connect arc

Một cửa sổ bật lên uỷ quyền cho hoạt động gỡ lỗi qua USB sẽ xuất hiện vào lần đầu tiên bạn cố gắng triển khai cho thiết bị và bạn cần cho phép hoạt động này.

Uỷ quyền kết nối với thiết bị

Cài đặt ứng dụng từ thiết bị đầu cuối:

adb install [path to your APK]

Cài đặt ứng dụng từ thiết bị đầu cuối

Triển khai từ một thiết bị khác

Nếu không thể sử dụng phương thức nêu trên và cần truyền ứng dụng từ một thiết bị khác, bạn có thể kết nối thiết bị đó với ADB bằng USB hoặc địa chỉ mạng.

Kết nối với ADB qua mạng

  1. Đảm bảo bạn đã bật tính năng gỡ lỗi ADB.

Lấy địa chỉ IP của Chromebook:

  1. Nhấp vào đồng hồ ở khu vực dưới cùng bên phải của màn hình.

  2. Nhấp vào biểu tượng bánh răng.

  3. Nhấp vào loại mạng bạn đang kết nối (Wi-Fi hoặc Dữ liệu di động), sau đó nhấp vào tên mạng.

  4. Ghi lại địa chỉ IP.

Cách kết nối với Chromebook:

  1. Quay lại máy phát triển và dùng ADB để kết nối với Chromebook bằng địa chỉ IP của Chromebook:

    adb connect 
  2. Trên Chromebook, hãy nhấp vào Cho phép khi được nhắc xem bạn có muốn cho phép trình gỡ lỗi hay không. Phiên ADB của bạn đã được thiết lập.

Khắc phục sự cố gỡ lỗi ADB qua mạng

Đôi khi, thiết bị ADB cho biết thiết bị đang ở trạng thái ngoại tuyến mặc dù mọi thứ đã được kết nối đúng cách. Trong trường hợp này, hãy hoàn tất các bước sau để khắc phục vấn đề:

  1. Tắt chế độ gỡ lỗi ADB trong phần Tuỳ chọn cho nhà phát triển.
  2. Trong cửa sổ dòng lệnh, hãy chạy adb kill-server.
  3. Kích hoạt lại tuỳ chọn gỡ lỗi ADB.
  4. Trong cửa sổ dòng lệnh, hãy thử chạy adb connect.
  5. Nhấp vào Cho phép khi được nhắc xem bạn có muốn cho phép gỡ lỗi hay không. Phiên ADB của bạn đã được thiết lập.

Kết nối với ADB qua USB

Để truyền APK từ một thiết bị khác vào Chromebook qua USB, bạn phải khởi động ChromeOS ở chế độ nhà phát triển để có thể định cấu hình Chromebook và truyền ứng dụng từ máy chủ. Đây là phương pháp duy nhất hiện yêu cầu Chế độ nhà phát triển và chỉ hoạt động trên một số ít thiết bị. Do đó, bạn nên sử dụng ADB qua mạng thay vì qua USB. Nếu bạn vẫn muốn tiếp tục, hãy làm theo các bước sau để chuyển sang chế độ nhà phát triển.

  1. Đảm bảo bạn đã bật tính năng gỡ lỗi ADB.
  2. Xác định xem thiết bị của bạn có hỗ trợ gỡ lỗi qua USB hay không
  3. Nhấn tổ hợp phím control+alt+t để khởi động thiết bị đầu cuối ChromeOS.
  4. Nhập shell để chuyển đến màn hình shell lệnh bash:
    crosh> shell
    chronos@localhost / $
  5. Nhập các lệnh sau để thiết lập thiết bị:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. Sau khi khởi động lại, hãy mở lại cửa sổ dòng lệnh và chạy lệnh sau để bật ADB trên cổng USB của Chromebook:
    $ sudo ectool usbpd  dr_swap

Hãy dùng lệnh này mỗi khi bạn ngắt kết nối rồi kết nối lại cáp USB. Để đảm bảo Chromebook đang ở chế độ UFP, bạn có thể chạy ectool usbpd .

  1. Cắm cáp USB vào cổng được hỗ trợ trên thiết bị
  2. Chạy adb devices từ các công cụ nền tảng Android SDK trên máy chủ lưu trữ để xem Chromebook của bạn có được liệt kê là thiết bị được ADB hỗ trợ hay không
  3. Trên Chromebook, hãy nhấp vào Cho phép khi được nhắc xem bạn có muốn cho phép trình gỡ lỗi hay không. Phiên ADB của bạn đã được thiết lập.