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.apkThấy Success là đã cài xong. Vài tùy chọn hữu ích:
| Tùy chọn | Tác dụng |
|---|---|
-r | Cài đè lên ứng dụng đã có và giữ dữ liệu |
-d | Cho phép cài bản có version code thấp hơn bản đang có (bản build debug) |
-g | Cấ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
- Chạy agent ADBKit và kết nối tivi bằng TCP/IP trong workspace ADBKit.
- Mở Install APK, chọn file trên máy tính rồi bấm Install.
- 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.abilistNế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.appThê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.