Bạn phải có một ứng dụng truyền hình để phát nội dung truyền hình trực tuyến đối với một số lớp của Android TV như TV màn hình và STB của nhà mạng. Mã nguồn cho ứng dụng tham chiếu có sẵn trong Dự án nguồn mở Android.
Trang này tóm tắt cách tạo và tuỳ chỉnh ứng dụng truyền hình hệ thống dựa trên trên Truyền hình trực tuyến dành cho thiết bị TV Android.
Phần phụ thuộc
Ứng dụng Truyền hình trực tuyến là một thành phần của Khung đầu vào TV (TIF) và không thể được sử dụng độc lập với các thành phần TIF khác. Các nhánh khác nhau của ứng dụng có các phần phụ thuộc khác nhau ở cấp độ API Android:
Chi nhánh | Cấp API mục tiêu | Cấp API tối thiểu |
---|---|---|
main |
24 (Android 7.0) | 23 |
android-live-tv |
23 (Android 6.0) | 21 |
android-live-tv-l-mr1 |
22 (Android 5.1) | 21 |
Lấy nguồn
Để bắt đầu, hãy chọn một phiên bản Truyền hình trực tuyến từ Git. Các hướng dẫn sau đây dành cho phiên bản Truyền hình trực tuyến. Để sử dụng phiên bản cũ hơn, hãy chuyển sang một trong các nhánh Git được liệt kê trong bảng trước.
mkdir live-tv && cd live-tv
repo init -u https://android.googlesource.com/platform/manifest -b main
repo sync -j8 -c
Tạo
Để tạo mã Truyền hình trực tiếp, hãy chạy mã:
. build/envsetup.sh
tapas LiveTv x86
make LiveTv
Truyền phát
Sử dụng mã sau để đẩy Truyền hình trực tuyến sang thiết bị thử nghiệm:
adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk
Nếu bạn muốn ứng dụng Truyền hình trực tuyến có các quyền hệ thống, hãy dùng mã sau để đẩy ứng dụng này vào
/system/priv-app
vào lần đầu tiên bạn cài đặt:
adb push $OUT/system/priv-app/LiveTv/LiveTv.apk /system/priv-app/LiveTv/
Kiểm tra
Sau khi bạn cài đặt Truyền hình trực tuyến trên thiết bị, hãy kiểm tra xem truyền hình đó có được tích hợp đúng cách hay không bằng cách làm như sau bên cạnh Bộ kiểm tra tính tương thích và các thử nghiệm Trình xác minh CTS cho ứng dụng truyền hình. Bạn phải có một thiết bị hoặc trình mô phỏng được kết nối để chạy tất cả các loại kiểm thử.
Kiểm thử đơn vị
adb shell logcat -c m LiveTv TVTestInput TVUnitTests -j20 &&\ adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\ adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk && \ adb install -r -d $OUT/data/app/TVUnitTests/TVUnitTests.apk && \ adb shell pm clear com.android.providers.tv && \ adb shell pm clear com.android.tv && \ adb shell am instrument \ -e testSetupMode unit \ -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\ adb shell input keyevent KEYCODE_HOME &&\ adb shell am instrument \ -w 'com.android.tv.tests/android.support.test.runner.AndroidJUnitRunner'
Kiểm thử chức năng
adb shell logcat -c m LiveTv TVTestInput TVFuncTests -j20 &&\ adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\ adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk && \ adb install -r -d $OUT/data/app/TVFuncTests/TVFuncTests.apk && \ adb shell pm clear com.android.providers.tv && \ adb shell pm clear com.android.tv && \ adb shell am instrument \ -e testSetupMode func \ -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\ adb shell input keyevent KEYCODE_HOME &&\ adb shell am instrument \ -w 'com.android.tv.tests.ui/android.support.test.runner.AndroidJUnitRunner'
Kiểm tra tình trạng giật
Các bài kiểm thử hiện tượng giật tìm các khung hình bị rớt và độ trễ trong quá trình kết xuất.
adb shell logcat -c m LiveTv TVTestInput TVJankTests -j20 &&\ adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk &&\ adb install -r -d $OUT/system/app/TVTestInput/TVTestInput.apk &&\ adb install -r -d $OUT/data/app/TVJankTests/TVJankTests.apk &&\ adb shell pm clear com.android.providers.tv &&\ adb shell pm clear com.android.tv &&\ echo "Creating a lot of channels and EPG data, this may take a while" &&\ adb shell am instrument \ -e testSetupMode jank \ -w com.android.tv.testinput/.instrument.TestSetupInstrumentation &&\ adb shell input keyevent KEYCODE_HOME &&\ adb shell am instrument \ -w 'com.android.tv.tests.jank/android.support.test.runner.AndroidJUnitRunner'