Android TV उपकरणों के कुछ वर्गों, जैसे पैनल टीवी और ऑपरेटर एसटीबी के लिए लाइव टीवी सामग्री चलाने वाले टीवी ऐप की आवश्यकता होती है। संदर्भ ऐप के लिए स्रोत कोड Android ओपन सोर्स प्रोजेक्ट में उपलब्ध है।
यह पृष्ठ संक्षेप में बताता है कि आपके एंड्रॉइड टेलीविजन डिवाइस के लिए लाइव टीवी पर आधारित सिस्टम टीवी ऐप कैसे बनाया और अनुकूलित किया जाए।
निर्भरता
लाइव टीवी ऐप टीवी इनपुट फ्रेमवर्क (टीआईएफ) का एक घटक है और इसे अन्य टीआईएफ घटकों से स्वतंत्र रूप से उपयोग नहीं किया जा सकता है। ऐप की विभिन्न शाखाओं में एंड्रॉइड एपीआई स्तरों पर अलग-अलग निर्भरताएं हैं:
शाखा | लक्ष्य एपीआई स्तर | न्यूनतम एपीआई स्तर |
---|---|---|
master | 24 (एंड्रॉयड 7.0) | 23 |
android-live-tv | 23 (एंड्रॉयड 6.0) | 21 |
android-live-tv-l-mr1 | 22 (एंड्रॉयड 5.1) | 21 |
स्रोत प्राप्त करें
आरंभ करने के लिए, 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
यदि आप चाहते हैं कि लाइव टीवी ऐप में सिस्टम अनुमतियां हों, तो इसे पहली बार इंस्टॉल करने पर इसे /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'