Ứng dụng TV phát nội dung truyền hình trực tiếp là bắt buộc đối với một số loại thiết bị Android TV, chẳng hạn như TV bảng điều khiển và STB của nhà cung cấp dịch vụ. 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à tùy chỉnh ứng dụng TV hệ thống dựa trên Live TV cho thiết bị Android TV của bạn.
Sự phụ thuộc
Ứng dụng Truyền hình trực tiếp 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ó sự phụ thuộc khác nhau vào các cấp API Android:
Chi nhánh | Cấp độ API mục tiêu | Cấp API tối thiểu |
---|---|---|
master | 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 phiên bản Truyền hình trực tiếp từ Git. Các hướng dẫn sau đây dành cho phiên bản Live TV hiện tại. Để 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 master
repo sync -j8 -c
Xây dựng
Để tạo mã Truyền hình trực tiếp, hãy chạy:
. build/envsetup.sh
tapas LiveTv x86
make LiveTv
Đẩy
Sử dụng mã sau để đẩy Truyền hình trực tiếp đến thiết bị thử nghiệm của bạn:
adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk
Nếu bạn dự định ứng dụng Truyền hình trực tiếp có quyền hệ thống, hãy sử dụng mã sau để đẩy ứng dụng đó lên /system/priv-app
trong lần đầu tiên bạn cài đặt:
adb push $OUT/system/priv-app/LiveTv/LiveTv.apk /system/priv-app/LiveTv/
Bài kiểm tra
Sau khi cài đặt Live TV trên thiết bị của bạn, hãy kiểm tra xem nó đã được tích hợp đúng cách chưa bằng các bài kiểm tra sau đây ngoài bộ kiểm tra khả năng tương thích và kiểm tra CTS Verifier cho ứng dụng TV. Bạn phải có thiết bị hoặc trình mô phỏng được kết nối để chạy tất cả các loại thử nghiệm.
Bài kiểm tra đơ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 tra 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 jank
Các bài kiểm tra jank tìm kiếm khung hình bị giảm và độ trễ trong 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'