Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

History
211 lines (160 loc) · 8.92 KB

File metadata and controls

211 lines (160 loc) · 8.92 KB

Android

Applications

Name Description
CDisplayEx Comic reader (.cbr files)
GlassesOn Pupillary distance calculator
OpenVPN for Android Unofficial OpenVPN client
prim-ftpd FTP server
ReadEra Ebook reader
Solid Explorer File manager
TOwaste Find out what waste items go where, what bins to put out when, and where to donate used items or find a City of Toronto drop-off depot
VLC Media Player Multimedia (audio & video) player

ADB Debugging

  1. From the Android TV device: Navigate to Settings > About
  2. Scroll down to the bottom and click on "Build" and until you see the message "You are now a developer!"
  3. Navigate to Settings > Developer options
  4. Enable "USB debugging" and "Wireless debugging"

Connect via USB

$ adb devices
List of devices attached
296b55ab        device

# It should show a list of devices as above. If it says "unauthorized", then check the android device to see if there's a USB debugging popup.

Connect via network

  1. Navigate to Android Settings -> System - Developer Options
  2. Enable: USB debugging
  3. Select: Wireless Debugging -> Pair device with pairing code
  4. Note the IP address, port number and pairing code
  5. Run adb pair IP_ADDRESS:PORT
  6. When prompted, enter the pairing code
# The port number will change everytime "Wireless Debugging" is disabled-then-enabled.
adb connect tv-basement:PORT

Force ADB server port to 5555

Newer TVs running Android 14+ bind their ADB server to random ports, which breaks integrations that expect the port to be static 5555. You can use adb-auto-enable to force the ADB server port back to its previous static default of 5555.

ADB usage

adb connect
adb shell

# List all activities/intents
pm list packages |\
  sed -e "s/package://" |\
  while read x; do cmd package resolve-activity --brief $x |\
  tail -n 1 |\
  grep -v "No activity found"; \
  done | sort

# Find activities from open windows
dumpsys window windows|grep -i activity

# Open Netflix app
am start -a android.intent.action.VIEW -n com.netflix.ninja/.MainActivity

# Open a network stream in VLC
am start -a android.intent.action.VIEW -d rtsp://example.com:8554/birdseye -n org.videolan.vlc/.gui.video.VideoPlayerActivity

Android TV / Google TV

Projectivy Launcher

Installation and setup

  1. Install the Projectivy app from Google Play Store
  2. Enable ADB Debugging (Required by the "Launcher Manager" app)
  3. Install the Downloader app from Google Play Store
  4. Open the Downloader app and paste the URL: https://troypoint.com/troypoint-toolbox/
  5. Scroll to the bottom and install "Launcher Manager"
  6. Open Launcher Manager app and select the "Projectivy Launcher"
Launcher Manager workarounds
Recommended: Install adb-auto-enable
Alternative: Manual ADB commands

If Launch Manager doesn't work (such as on a Hisense U88QG), then set Projectivy as the default launcher via the following adb commands:

adb connect IP_ADDRESS:PORT
adb shell
cmd package set-home-activity com.spocky.projengmenu/com.spocky.projengmenu.ui.home.MainActivity
pm disable-user --user 0 com.google.android.apps.tv.launcherx
pm disable-user --user 0 com.google.android.tungsten.setupwraith

... then reboot the TV. After rebooting, wifi may be disabled and you may need to re-enter the wifi password.

Alternative: Temporarily bind ADB to port 5555

You can temorarily bind the TV's ADB port to 5555, but thi swon't survive a reboot:

adb connect
adb tcpip 5555

... then run the "Launcher Manager" app, and it should be able to connect to ADB.

n.b. Do not enable Projectivy in "Accessibility settings"

Do not install enable "Projectivy Launcher" in Android's accessibility settings as directed by Projectivy, because doing so will trigger the following bug as noted in the first post on the official Projectivy Launcher thread (see, also, this post on Reddit):

long press on volume buttons doesn't work on FengOs : there's a bug on FengOs -> as soon as an accessibility service is enabled (Projectivy Launcher, but also Button Mapper for example), the long press volume buttons doesn't work anymore.

The workaround is to disable "Projectivy Launcher" in Android's accessibility settings, which is fine as long as "Launcher Manager" is configured as described above.

YouTube app alternatives

Name Description
iSponsorBlock A jailbreak tweak that implements the SponsorBlock API to skip sponsorships in YouTube videos
NewPipe A libre lightweight streaming front-end for Android
ReVanced /r/revancedapp/ microG (revanced fork) YouTube app for Android with no adds, SponsorBlock integration, and video quality settings persistence
SmartTube GitHub An advanced player for set-top boxes and tvs running Android OS

SmartTube

  1. Install the Downloader app by AFTVnews
  2. Open the Downloader app and paste the URL: https://kutt.it/stn_beta
  3. Follow the prompts to install SmartTube

TV Apps

To launch apps via Home Assitant, configure a dashboard button:

# For Android 12, using media_player.play_media
- type: button
  icon: mdi:youtube
  name: YouTube
  tap_action:
    action: perform-action
    perform_action: media_player.play_media
    data:
      media_content_id: YouTube
      media_content_type: app
    target:
      entity_id: media_player.basement_tv

# For Android 14, using remote.turn_on
- type: button
  icon: mdi:youtube
  name: YouTube
  tap_action:
    action: perform-action
    perform_action: remote.turn_on
    data:
      activity: "https://www.youtube.com"
    target:
      entity_id: remote.basement_tv_remote

# Sometimes the URL won't work, but the package name will.
# The package name is the part of the intent before the forward slash.
# e.g. The package name is "com.google.android.youtube.tv" in the intent "com.google.android.youtube.tv/com.google.android.apps.youtube.tv.activity.ShellActivity"
- type: button
  icon: mdi:music-circle
  name: YouTube Music
  tap_action:
    action: perform-action
    perform_action: remote.turn_on
    data:
      activity: "com.google.android.youtube.tvmusic"
    target:
      entity_id: remote.basement_tv_remote
App Intent (Android 12) Activity (Android 14)
AppleTV com.apple.atve.sony.appletv/com.apple.atve.sony.appletv.MainActivity https://tv.apple.com
CBC Gem ca.cbc.android.cbctv/tv.tou.android.home.views.activities.MainActivityTv https://gem.cbc.ca
CraveTV ca.bellmedia.cravetv/axis.androidtv.sdk.app.MainActivity https://www.crave.ca
Disney+ com.disney.disneyplus/com.bamtechmedia.dominguez.main.MainActivity https://www.disneyplus.com
NetFlix com.netflix.ninja/.MainActivity netflix://
Prime Video com.amazon.amazonvideo.livingroom/com.amazon.ignition.IgnitionActivity https://app.primevideo.com
SmartTube com.liskovsoft.smarttubetv.beta/com.liskovsoft.smartyoutubetv2.tv.ui.main.SplashActivity https://www.youtube.com
VLC org.videolan.vlc/.StartActivity vlc://
YouTube com.google.android.youtube.tv/com.google.android.apps.youtube.tv.activity.ShellActivity https://www.youtube.com
YouTube Music com.google.android.youtube.tvmusic/com.google.android.apps.youtube.tvmusic.activity.MainActivity https://www.youtube.com/music