संदर्भ टीवी ऐप

एक टीवी एप्लिकेशन जो लाइव टीवी सामग्री निभाता है, वह एंड्रॉइड टीवी उपकरणों के कुछ वर्गों के लिए आवश्यक है, जैसे पैनल टीवी और ऑपरेटर एसटीबी। एंड्रॉइड प्लेटफॉर्म के साथ एक संदर्भ टीवी एप्लिकेशन ( लाइव टीवी ) प्रदान किया जाता है, जिसे अनुकूलित, विस्तारित या प्रतिस्थापित किया जा सकता है। स्रोत कोड Android ओपन सोर्स प्रोजेक्ट में उपलब्ध है।

यह आलेख बताता है कि आपके Android टेलीविज़न डिवाइस के लिए लाइव टीवी पर आधारित एक सिस्टम TV ऐप को कैसे बनाया और कस्टमाइज़ किया जाए। (आप डिवाइस निर्माता या देश-विशिष्ट सुविधाओं को लागू करने के लिए अपने टीवी एप्लिकेशन का विस्तार कर सकते हैं, हालांकि यह संदर्भ टीवी ऐप के दायरे में नहीं है।)

निर्भरता

टीवी एप्लिकेशन टीवी इनपुट फ्रेमवर्क (टीआईएफ) का एक घटक है और इसे अन्य घटकों के स्वतंत्र रूप से उपयोग नहीं किया जा सकता है। इसका मतलब है कि केवल TIF वाले डिवाइस ही लाइव टीवी एप्लिकेशन को चला पाएंगे।

लाइव टीवी एप्लिकेशन एंड्रॉइड एपीआई पर निर्भर करता है। एपीआई स्तरों पर विभिन्न शाखाओं की अलग-अलग निर्भरताएं हैं:

तालिका 1. लाइव टीवी शाखाएं।

डाली लक्ष्य एपीआई स्तर न्यूनतम एपीआई स्तर
गुरुजी 24 (Android 7.0) २३
एंड्रॉइड-लाइव-टीवी 23 (Android 6.0) २१
Android-live-tv-l-mr1 22 (Android 5.1) २१

स्रोत प्राप्त करें

आरंभ करने के लिए, Git से लाइव टीवी का कौन सा संस्करण चुनें। नीचे दिए गए निर्देश लाइव टीवी के वर्तमान संस्करण के लिए हैं, लेकिन आप आसानी से ऊपर दी गई तालिका में सूचीबद्ध एक अलग से मास्टर से शाखा को बदलकर एक पुराने संस्करण का चयन कर सकते हैं।

mkdir live-tv && cd live-tv
repo init -u https://android.googlesource.com/platform/manifest -b master
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 ऐप में सिस्टम की अनुमति हो, तो पहली बार इसे स्थापित करने के लिए इसे / सिस्टम / प्राइवेट-ऐप के साथ धकेलना होगा:

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.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'

कार्यात्मक परीक्षण

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 टेस्ट

Jank परीक्षण गिरा फ्रेम और प्रतिपादन में देरी के लिए देखो।

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'