रेफ़रंस टीवी ऐप्लिकेशन

Android TV की कुछ क्लास के लिए, लाइव टीवी कॉन्टेंट चलाने वाला टीवी ऐप्लिकेशन होना ज़रूरी है पैनल टीवी और ऑपरेटर STB जैसे डिवाइस. सोर्स कोड के लिए, Android ओपन सोर्स प्रोजेक्ट में उपलब्ध है.

इस पेज पर, सिस्टम टीवी ऐप्लिकेशन को बनाने और उसे पसंद के मुताबिक बनाने की जानकारी दी गई है अपने Android टेलीविज़न डिवाइस के लिए लाइव टीवी पर.

डिपेंडेंसी

लाइव टीवी ऐप्लिकेशन, टीवी इनपुट फ़्रेमवर्क (टीआईएफ़) का हिस्सा है और इसे दूसरे TIF कॉम्पोनेंट के साथ अलग से इस्तेमाल नहीं किया जा सकता. ऐप्लिकेशन की अलग-अलग ब्रांच में 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/

टेस्ट

डिवाइस पर लाइव टीवी इंस्टॉल होने के बाद, देखें कि यह अच्छी तरह से इंटिग्रेट किया गया है या नहीं. इसके लिए, इनका इस्तेमाल करें कंपैटबिलिटी टेस्ट सुइट के अलावा अन्य टेस्ट और टीवी ऐप्लिकेशन के लिए, CTS की पुष्टि करने वाले टेस्ट. सभी तरह की जांच करने के लिए, आपके पास कोई डिवाइस या एम्युलेटर होना चाहिए.

यूनिट टेस्ट

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'