참조 TV 앱

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

라이브 TV 콘텐츠를 재생하는 TV 앱은 패널 TV 및 통신사 STB와 같은 일부 클래스의 Android TV 기기에 필요합니다. 참조 앱의 소스 코드 는 Android 오픈 소스 프로젝트에서 사용할 수 있습니다.

이 페이지에서는 Android TV 장치용 Live TV를 기반으로 시스템 TV 앱을 빌드하고 사용자 지정하는 방법을 요약합니다.

종속성

라이브 TV 앱은 TIF(TV 입력 프레임워크) 의 구성 요소이며 다른 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

소스 가져오기

시작하려면 Git에서 라이브 TV 버전을 선택하세요. 다음 지침은 현재 버전의 Live TV에 ​​대한 것입니다. 이전 버전을 사용하려면 이전 표에 나열된 Git 분기 중 하나로 전환하십시오.

mkdir live-tv && cd live-tv
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8 -c

짓다

라이브 TV 코드를 빌드하려면 다음을 실행하세요.

. 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를 설치한 후 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'