אפליקציית עזר לטלוויזיה

דרושה אפליקציית טלוויזיה שמשמיעה תוכן טלוויזיה בשידור חי בכמה מחלקות של מכשירי Android TV, כגון טלוויזיות פאנלים ו-STB של מפעיל. קוד המקור של אפליקציית עזר זמין בפרויקט הקוד הפתוח של Android.

דף זה מסכם כיצד לבנות ולהתאים אישית אפליקציית טלוויזיה מערכת המבוססת על Live TV עבור מכשיר הטלוויזיה של Android שלך.

תלות

אפליקציית הטלוויזיה בשידור חי היא רכיב של מסגרת קלט הטלוויזיה (TIF) ולא ניתן להשתמש בה ללא תלות ברכיבי ה-TIF האחרים. לענפים שונים של האפליקציה יש תלות שונות ברמות ה-API של אנדרואיד:

ענף יעד רמת API רמת API מינימלית
main 24 (אנדרואיד 7.0) 23
android-live-tv 23 (אנדרואיד 6.0) 21
android-live-tv-l-mr1 22 (אנדרואיד 5.1) 21

קבל את המקור

כדי להתחיל, בחר גרסת טלוויזיה בשידור חי מ-Git. ההוראות הבאות מיועדות לגרסה הנוכחית של Live TV. כדי להשתמש בגרסה קודמת, עבור לאחד מסניפי 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

לִדחוֹף

השתמש בקוד הבא כדי לדחוף 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.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'