Bazı Android TV sınıfları için canlı TV içeriği oynatan bir TV uygulaması gerekir panel TV'ler ve operatör STB'leri gibi cihazlar için de geçerlidir. Kaynak kod Android Açık Kaynak Projesi'nde kullanıma sunulmaktadır.
Bu sayfada, TV'nize dayalı bir sistem TV uygulamasının nasıl geliştirileceği ve TV'nizde canlı TV'yi izlemeye devam edin.
Bağımlılıklar
Canlı TV uygulaması, TV Giriş Çerçevesi'nin (TIF) bileşenlerinden biridir. ve diğer TIF bileşenlerinden bağımsız olarak kullanılamaz. Uygulamanın farklı dallarında Android API seviyelerinde farklı bağımlılıklar var:
Şube | Hedef API düzeyi | Minimum API düzeyi |
---|---|---|
main |
24 (Android 7.0) | 23 |
android-live-tv |
23 (Android 6.0) | 21 |
android-live-tv-l-mr1 |
22 (Android 5.1) | 21 |
Kaynağı alma
Başlamak için Git'ten bir Canlı TV sürümü seçin. Aşağıdaki talimatlar, canlı TV sürümü. Önceki bir sürümü kullanmak için Git dallarından birine geçiş yapın listelenen değerlerdir.
mkdir live-tv && cd live-tv
repo init -u https://android.googlesource.com/platform/manifest -b main
repo sync -j8 -c
Topluluk
Canlı TV kodu oluşturmak için şu komutu çalıştırın:
. build/envsetup.sh
tapas LiveTv x86
make LiveTv
Başlat
Canlı TV'yi test cihazınıza aktarmak için aşağıdaki kodu kullanın:
adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk
Canlı TV uygulamasının sistem izinlerine sahip olmasını istiyorsanız uygulamayı
İlk kez yüklediğinizde /system/priv-app
:
adb push $OUT/system/priv-app/LiveTv/LiveTv.apk /system/priv-app/LiveTv/
Test
Canlı TV cihazınıza yüklendikten sonra, aşağıdakileri kullanarak doğru şekilde entegre edilip edilmediğini test edin: Uyumluluk test paketi ve testler ve TV uygulaması için CTS Doğrulayıcı testleri. Tüm test türlerini çalıştırmak için cihaz veya emülatör cihazınızın bağlı olması gerekir.
Birim testleri
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'
İşlevsel testler
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'
Jank testleri
Jank testleri, oluşturmada atlanan kareleri ve gecikmeleri arar.
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'