Hướng dẫnĐăng ngày: 4 phút đọc

Cách cài APK lên Android TV và Fire TV bằng ADB

Cài APK lên Android TV, Google TV hoặc Fire TV qua mạng bằng adb install hoặc từ trình duyệt, kèm cách sửa lỗi NO_MATCHING_ABIS và các lỗi hay gặp khác.

Sideload nghĩa là cài ứng dụng từ file APK thay vì từ cửa hàng. Trên tivi, đây là cách thường dùng để thử ứng dụng TV do bạn tự làm, cài bản build nội bộ, hoặc thêm một công cụ không có trên cửa hàng của tivi. Với ADB chỉ cần một lệnh, không cần USB hay ứng dụng quản lý tệp trên tivi.

Trước khi bắt đầu

Hãy kết nối ADB với tivi trước. Cách làm cho Android TV, Google TV và Fire TV có trong bài cách điều khiển Android TV bằng ADB. Tóm tắt: bật Tùy chọn nhà phát triển và gỡ lỗi ADB, tìm IP của tivi, chạy adb connect <ip>:5555 rồi đồng ý hộp thoại trên tivi.

Cài qua ADB không cần bật "Cài ứng dụng không rõ nguồn gốc" (Apps from Unknown Sources). Cài đặt đó chỉ dành cho việc cài từ một ứng dụng trên tivi, như ứng dụng tải về hay quản lý tệp.

Cài bằng adb

adb install my-tv-app.apk

Thấy Success là đã cài xong. Vài tùy chọn hữu ích:

Tùy chọnTác dụng
-rCài đè lên ứng dụng đã có và giữ dữ liệu
-dCho phép cài bản có version code thấp hơn bản đang có (bản build debug)
-gCấp sẵn mọi quyền runtime khai báo trong manifest

Qua Wi-Fi, APK lớn cài lâu hơn hẳn so với qua cáp. File 100 MB có thể mất một phút hoặc hơn nếu mạng chậm, nên hãy kiên nhẫn trước khi nghĩ là bị treo.

Cài từ trình duyệt với ADBKit

  1. Chạy agent ADBKit và kết nối tivi bằng TCP/IP trong workspace ADBKit.
  2. Mở Install APK, chọn file trên máy tính rồi bấm Install.
  3. Tích Replace existing app để cập nhật ứng dụng đã cài.

Kết quả hiện là cài thành công hoặc thất bại, kèm lý do Android trả về. File APK đi thẳng từ máy tính của bạn sang tivi, không bị tải lên bất kỳ đâu khác.

Mở ứng dụng vừa cài

Màn hình chính của tivi chỉ hiện ứng dụng có khai báo mục khởi chạy cho TV ("Leanback"). Ứng dụng điện thoại cài lên tivi thường vẫn chạy, nhưng không hiện trên màn hình chính. Bạn vẫn mở được nó:

  • Android TV / Google TV: Cài đặt › Ứng dụng › Xem tất cả ứng dụng, chọn ứng dụng rồi bấm Mở
  • Fire TV: Settings › Applications › Manage Installed Applications, chọn ứng dụng rồi bấm Launch application
  • Bằng ADB: adb shell monkey -p com.example.app 1

Nếu tự làm ứng dụng, hãy thêm một activity có category android.intent.category.LEANBACK_LAUNCHER và ảnh banner để ứng dụng hiện trên màn hình chính của tivi.

Các lỗi hay gặp

INSTALL_FAILED_NO_MATCHING_ABIS

APK chứa mã native cho loại vi xử lý mà tivi không chạy được. Nhiều tivi và TV stick chạy Android 32-bit dù chip là 64-bit. Kiểm tra tivi hỗ trợ gì:

adb shell getprop ro.product.cpu.abilist

Nếu chỉ thấy armeabi-v7a,armeabi, bạn cần APK build cho armeabi-v7a (hoặc APK universal), không phải file chỉ có arm64-v8a.

INSTALL_FAILED_OLDER_SDK

Ứng dụng cần phiên bản Android mới hơn bản trên tivi. So minSdkVersion của ứng dụng với kết quả adb shell getprop ro.build.version.sdk. Nhiều tivi nằm ở một bản Android cũ suốt nhiều năm.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

Tivi đã có ứng dụng cùng tên gói nhưng ký bằng khóa khác, ví dụ bản từ cửa hàng của chính ứng dụng bạn đang thử. Gỡ nó trước bằng adb uninstall com.example.app. Lệnh này xóa dữ liệu của ứng dụng đó.

INSTALL_FAILED_INSUFFICIENT_STORAGE

Tivi thường còn rất ít dung lượng trống. Kiểm tra bằng adb shell df -h /data, xóa bộ nhớ đệm của các ứng dụng lớn trong Cài đặt hoặc gỡ những gì không còn dùng.

Cài được nhưng ứng dụng đòi màn hình cảm ứng

Ứng dụng khai báo bắt buộc android.hardware.touchscreen có thể cài được qua ADB nhưng chạy không ổn, vì remote không phải màn hình cảm ứng. Với ứng dụng của bạn, hãy đánh dấu touchscreen là không bắt buộc và làm mọi màn hình dùng được bằng nút điều hướng.

"Device unauthorized" hoặc "Connection refused"

Đây là lỗi kết nối, không phải lỗi cài đặt. Kết nối lại và đồng ý hộp thoại trên tivi, hoặc kiểm tra ADB debugging còn bật không. Xem phần khắc phục sự cố trong bài cách điều khiển Android TV bằng ADB.

Gỡ ứng dụng

adb uninstall com.example.app

Thêm -k để giữ lại dữ liệu và bộ nhớ đệm của ứng dụng.

Cẩn thận với nguồn APK

APK làm được mọi thứ một ứng dụng làm được trên tivi, kể cả theo dõi bạn xem gì và gõ gì. Chỉ cài APK do bạn tự build hoặc tải từ trang chính thức của nhà phát triển. Nếu tivi dùng mạng chung với người khác, hãy tắt ADB debugging khi xong việc.

Cài APK cho điện thoại và máy tính bảng xem ở bài cách cài APK bằng ADB.