Skip to content
WEPSTechnologies

Service

Android TV app development

Android TV and Google TV applications in Kotlin with Compose for TV: D-pad navigation, the TV launcher, and Play submission — including migration off deprecated Leanback.

A phone app recompiled for Android TV installs and is unusable, and a new build started on Leanback starts on a toolkit Google has deprecated.

If you last looked at Android TV a few years ago, the advice you remember is now wrong. The Leanback UI toolkit that every tutorial was built around is deprecated, and Google's own guidance points at Compose for TV instead. A lot of what is still online will lead your team down a road Google has stopped maintaining. If you already have a Leanback app, that is not an emergency and it is not a rewrite either. A deprecated library keeps working; what it stops getting is new work. The sensible approach is usually to migrate screen by screen as each one comes up for change, rather than to stop feature work for a port. What carries over either way is everything below the UI: your Kotlin, your data layer, your playback logic, your integrations. The D-pad is the whole interface. Google's requirement is plain: a viewer must be able to navigate comfortably with just a directional pad and a select button. No touch, no pointer, no keyboard. Every focusable element needs a visible focused state and a sensible neighbour in four directions, and a phone app recompiled for TV fails here first, because anything that only responded to a tap is now dead. Getting onto the TV needs more than the APK. It needs a leanback launcher intent filter so the TV knows it is a TV app, a banner so it appears properly on the home screen, and a manifest that declares what hardware it does not need — a TV has no touchscreen, no telephony and often no camera. Miss those and the app either will not appear or will not install.

Scope

How we deliver

  1. 01Assess an existing app: what is Leanback, what is reusable, what must move first
  2. 02Design the focus map before the screens
  3. 03Implement in Kotlin with Compose for TV
  4. 04Test on real TV hardware with a real remote
  5. 05Manifest, banner and Play TV checklist, then submission

Technologies

Android TV and Google TV · Kotlin and Compose for TV · Leanback migration (deprecated toolkit) · ExoPlayer / Media3 · Google Play Console, TV checklist

Questions

We have a Leanback app. Do we have to rewrite it?

No, and you should not treat it as urgent. A deprecated library keeps working; what it stops getting is new work. The sensible path is migrating screen by screen as each one comes up for change, not stopping feature work for a port. We will tell you which screens are worth moving first, and the answer is usually not all of them.

Can our phone app just run on Android TV?

It will install and it will be unusable. Nothing is touched on a TV, so every control that only responded to a tap is dead, and focus has to be designed rather than inherited. Your Kotlin, data layer and playback logic all carry over.

What is the difference between Android TV and Google TV?

Google TV is the experience layer on top of Android TV. It changes how your content is surfaced to viewers, not how you build the app.

Why does our app not appear on the TV home screen?

Usually a missing leanback launcher intent filter, a missing banner, or a manifest that has not declared which hardware the app does not require. A TV has no touchscreen and often no camera; if the app claims it needs them, Play will not offer it to TVs.

Do you handle Play submission?

Yes, including the TV checklist that is separate from the phone one.

Related products: RecoraEdTech

Related services: tv application developmentwebos tv app developmentapple tv app development

We use Google Tag Manager, Analytics, and an optional Facebook pixel to understand useful traffic. Ads appear on blog articles. See our privacy policy.