تطبيق مرجعي للتلفزيون

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

تطبيق التلفزيون الذي يقوم بتشغيل محتوى البث التلفزيوني المباشر مطلوب لبعض فئات أجهزة Android TV ، مثل أجهزة التلفزيون ذات اللوحات والمشغل STBs. يتوفر رمز المصدر للتطبيق المرجعي في مشروع Android Open Source Project.

تلخص هذه الصفحة كيفية إنشاء وتخصيص تطبيق تلفزيون النظام استنادًا إلى Live TV لجهاز Android TV الخاص بك.

التبعيات

يعد تطبيق Live TV أحد مكونات TV Input Framework (TIF) ولا يمكن استخدامه بشكل مستقل عن مكونات TIF الأخرى. تمتلك الفروع المختلفة للتطبيق تبعيات مختلفة على مستويات Android API:

فرع الهدف مستوى API الحد الأدنى من مستوى API
master 24 (أندرويد 7.0) 23
android-live-tv 23 (أندرويد 6.0) 21
android-live-tv-l-mr1 22 (أندرويد 5.1) 21

احصل على المصدر

للبدء ، حدد إصدار Live TV من Git. الإرشادات التالية خاصة بالإصدار الحالي من Live TV. لاستخدام إصدار سابق ، قم بالتبديل إلى أحد فروع 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

يدفع

استخدم الكود التالي لدفع Live TV إلى جهاز الاختبار الخاص بك:

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/

اختبار

بعد تثبيت Live TV على جهازك ، اختبر أنه مدمج بشكل صحيح باستخدام الاختبارات التالية بالإضافة إلى مجموعة اختبار التوافق واختبارات CTS Verifier لتطبيق التلفزيون. يجب أن يكون لديك جهاز أو محاكي متصل لتشغيل جميع أنواع الاختبارات.

اختبارات الوحدة

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

اختبارات يانك

تبحث الاختبارات غير المرغوب فيها عن الإطارات المتساقطة والتأخيرات في العرض.

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'