Panel TV'ler ve Operatör STB'leri gibi bazı Android TV cihazları sınıfları için canlı TV içeriği oynatan bir TV uygulaması gereklidir. Android platformunun yanında özelleştirilebilen, genişletilebilen veya değiştirilebilen bir referans TV uygulaması ( Canlı TV ) sağlanır. Kaynak kodu , Android Açık Kaynak Projesi'nde mevcuttur.
Bu makale, Android televizyon cihazınız için Canlı TV'ye dayalı bir sistem TV Uygulamasının nasıl oluşturulacağını ve özelleştirileceğini özetler. (TV uygulamanızı, cihaz üreticisi veya ülkeye özgü özellikleri uygulayacak şekilde genişletebilirsiniz, ancak bu, referans TV Uygulaması kapsamında değildir.)
bağımlılıklar
TV uygulaması, TV Giriş Çerçevesinin (TIF) bir bileşenidir ve diğer bileşenlerden bağımsız olarak kullanılamaz. Bu, yalnızca TIF'li cihazların Canlı TV uygulamasını çalıştırabileceği anlamına gelir.
Canlı TV uygulaması, Android API'lerine bağlıdır. Farklı dalların API seviyelerine farklı bağımlılıkları vardır:
Tablo 1. Canlı TV dalları.
Dal | Hedef API düzeyi | Minimum API seviyesi |
---|---|---|
usta | 24 (Android 7.0) | 23 |
android-canlı-tv | 23 (Android 6.0) | 21 |
android-canlı-tv-l-mr1 | 22 (Android 5.1) | 21 |
kaynağı al
Başlamak için Git'ten hangi Canlı TV sürümünü istediğinizi seçin. Aşağıdaki talimatlar, Live TV'nin güncel sürümü içindir, ancak dalı, yukarıdaki tabloda listelenen ana daldan farklı bir dalla değiştirerek kolayca önceki bir sürümü seçebilirsiniz.
mkdir live-tv && cd live-tv
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8 -c
İnşa etmek
Canlı TV kodunu oluşturmak için şunu çalıştırın:
. build/envsetup.sh
tapas LiveTv x86
make LiveTv
İtmek
Canlı TV'yi test cihazınıza aktarmak için:
adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk
Geliştirici, CANLI TV uygulamasının sistem izinlerine sahip olmasını istiyorsa, ilk kurulduğunda /system/priv-app'e şu şekilde iletilmelidir:
adb push $OUT/system/priv-app/LiveTv/LiveTv.apk /system/priv-app/LiveTv/
Ölçek
Live TV cihazınıza girdikten sonra, düzgün şekilde entegre edildiğini test etmelisiniz. TV uygulaması için Uyumluluk test paketini ve CTS Verifier testlerini çalıştırmanın yanı sıra aşağıdaki testleri kullanabilirsiniz:
Birim testleri
Canlı TV uygulaması için birim ve işlevsel testler vardır. Testleri çalıştırmak için bağlı bir cihaza (veya emülatöre) sahip olmanız gerekir.
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.google.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'
Fonksiyonel 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.google.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, atılan kareleri ve oluşturmadaki 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.google.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'