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

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

यह पृष्ठ आपके एंड्रॉइड टेलीविज़न डिवाइस के लिए लाइव टीवी पर आधारित सिस्टम टीवी ऐप बनाने और अनुकूलित करने का सारांश देता है।

निर्भरताएँ

लाइव टीवी ऐप टीवी इनपुट फ्रेमवर्क (टीआईएफ) का एक घटक है और इसे अन्य टीआईएफ घटकों से स्वतंत्र रूप से उपयोग नहीं किया जा सकता है। ऐप की विभिन्न शाखाओं की Android API स्तरों पर अलग-अलग निर्भरताएँ हैं:

शाखा लक्ष्य एपीआई स्तर न्यूनतम एपीआई स्तर
main 24 (एंड्रॉइड 7.0) 23
android-live-tv 23 (एंड्रॉइड 6.0) 21
android-live-tv-l-mr1 22 (एंड्रॉइड 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

यदि आप लाइव टीवी ऐप को सिस्टम अनुमतियाँ देना चाहते हैं, तो इसे पहली बार इंस्टॉल करते समय /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'