Android TV डिवाइसों के कुछ क्लास के लिए, लाइव टीवी कॉन्टेंट चलाने वाला टीवी ऐप्लिकेशन ज़रूरी है. जैसे, पैनल टीवी और ऑपरेटर के एसटीबी. रेफ़रंस ऐप्लिकेशन का सोर्स कोड, Android ओपन सोर्स प्रोजेक्ट में उपलब्ध है.
इस पेज पर, Android टीवी डिवाइस के लिए, लाइव टीवी पर आधारित सिस्टम टीवी ऐप्लिकेशन बनाने और उसे पसंद के मुताबिक बनाने का तरीका बताया गया है.
डिपेंडेंसी
लाइव टीवी ऐप्लिकेशन, टीवी इनपुट फ़्रेमवर्क (टीआईएफ़) का एक कॉम्पोनेंट है. इसे टीआईएफ़ के दूसरे कॉम्पोनेंट के बिना इस्तेमाल नहीं किया जा सकता. ऐप्लिकेशन की अलग-अलग शाखाओं के लिए, Android API लेवल पर अलग-अलग डिपेंडेंसी होती हैं:
शाखा | टारगेट एपीआई लेवल | कम से कम एपीआई लेवल |
---|---|---|
main |
24 (Android 7.0) | 23 |
android-live-tv |
23 (Android 6.0) | 21 |
android-live-tv-l-mr1 |
22 (Android 5.1) | 21 |
सोर्स पाना
शुरू करने के लिए, Git से लाइव टीवी का कोई वर्शन चुनें. यहां दिए गए निर्देश, लाइव टीवी के मौजूदा वर्शन के लिए हैं. किसी पुराने वर्शन का इस्तेमाल करने के लिए, पिछली टेबल में दी गई किसी एक Git शाखा पर स्विच करें.
mkdir live-tv && cd live-tv
repo init -u https://android.googlesource.com/platform/manifest -b main
repo sync -j8 -c
बनाएं
लाइव टीवी कोड बनाने के लिए, यह चलाएं:
. build/envsetup.sh
tapas LiveTv x86
make LiveTv
शुरू करें
अपने टेस्ट डिवाइस पर लाइव टीवी को पुश करने के लिए, नीचे दिए गए कोड का इस्तेमाल करें:
adb install -r -d $OUT/system/priv-app/LiveTv/LiveTv.apk
अगर आपको Live TV ऐप्लिकेशन के लिए सिस्टम की अनुमतियां चाहिए, तो पहली बार इंस्टॉल करते समय इसे /system/priv-app
पर पुश करने के लिए, नीचे दिए गए कोड का इस्तेमाल करें:
adb push $OUT/system/priv-app/LiveTv/LiveTv.apk /system/priv-app/LiveTv/
टेस्ट
अपने डिवाइस पर लाइव टीवी इंस्टॉल करने के बाद, यह जांच करें कि वह सही तरीके से इंटिग्रेट हुआ है या नहीं. इसके लिए, यहां दिए गए टेस्ट का इस्तेमाल करें. साथ ही, टीवी ऐप्लिकेशन के लिए काम करने की जांच करने वाले टूल और सीटीएस की पुष्टि करने वाले टेस्ट का भी इस्तेमाल करें. सभी तरह के टेस्ट चलाने के लिए, आपके पास कनेक्ट किया गया डिवाइस या एमुलेटर होना चाहिए.
यूनिट टेस्ट
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'
फ़ंक्शनल टेस्ट
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'
जैंक टेस्ट
जंक टेस्ट में, फ़्रेम के गिरने और रेंडरिंग में होने वाली देरी का पता लगाया जाता है.
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'