FORUMS
Remove All Ads from XDA

[LAUNCHER] XBMC/Kodi for Fire TV (Root)

551 posts
Thanks Meter: 223
 
Post Reply Email Thread
Life's been really crazy. Development computer is on it's last leg. XDA hasn't been sending me notifications for this thread. Lots of excuses.

I really don't have much time to be maintaining all this, and I do apologize to any of you I've inconvenienced. But I have put together a present for you guys. A Python script that will decompile an APK, modify its intent to act as a Launcher, then recompile the APK. No guarantees on this one, and things could blow up if intent strings don't match up in the future, but hopefully some find it helpful and carry on what I've been doing.

Requirements:
  • Windows PC
  • Python 3.x (tested with 3.5.1)
  • Java JRE (tested with 8u74)
  • A Kodi APK (tested with Kodi 16.0 ARM APK)
  1. Download and unzip MakeKodiLauncher.zip
  2. Put the desired Kodi APK in the extracted "in" folder
  3. Run MakeKodiLauncher.py
  4. When prompted, enter the full name (with extension) of the APK you placed
  5. Let script decompile the APK and insert Launcher intent
  6. (Optional) When the script pauses, make further modifications to APK source files in "temp" folder (ie. insert skins, addons, etc)
  7. Let script recompile and sign the APK
  8. Find newly signed APK in the "out" folder

I don't know if I'll ever get to updating my skin and addons, as I'm pretty set with staying on 15.2 myself and there is a lot of other great work out there. If anyone wants to fork my repo and make changes though, feel free.

----------------------------------------------------

Warning: A new update to the FTV has been pushed out (version 51.1.2.0), and is reported to be unrootable. If you haven't done so yet (and haven't received the update) I highly recommend disabling automatic updates.
If your device does get the update, XBMC should continue to work but will lose Launcher functionality.


I created a slightly modified package of XBMC/Kodi for the Fire TV that I've been using as the main launcher. I thought I'd share it with anyone interested.

Modifications:
Jarvis:
  • Set Android intent to run as Launcher

Helix & Isengard:
  • Set Android intent to run as Launcher
  • Included my XBMC addon repo. See description below. All other modifications that were built into my Gotham builds can be installed as needed from my repo.

Gotham:
  • Set Android intent to run as Launcher
  • Set XBMC on FireTV splash screen
  • Pre-configured Alternate keymap 3 (includes functionality for FF and RW buttons on the FTV controller)
  • Pre-set "Remote control sends keyboard presses"
  • Pre-set "Libstagefright" for video acceleration
  • Removed unnecessary built-in skin "Touched"
  • Included my "Confluence++" skin, set as default. See description below. (original Confluence skin is still included).
  • Included my "Android Power Options" screensaver. See description below. Now XBMC can automatically put the FTV to sleep!
  • Included my XBMC addon repo. See description below.

elmerohueso's XBMC addon repo:
Includes my "Confluence++" skin and "Android Power Options" screensaver, so that they can pull down updates automatically. The repo also includes some other addons that are simply shortcuts to open apps on the FTV, allowing them to be added to the Home screen on any skin. To access, go to System > Settings > Addons > Get Addons > elmerohueso's repo.

"Confluence++" skin:
My modified "Confluence" skin. Changelog/list of modifications.

"Android Power Options" screensaver:
This provides ability to automatically Sleep or Power Off rooted Android devices, along with the option to logoff your XBMC profile prior to sleeping. It includes a SU Permissions check in Settings so you can give XBMC persistent SuperUser permissions.. To enable, go to System > Settings > Appearance > Screensaver and select the "Android Power Options" screensaver. Make sure to check its Settings after selecting it.
For additional changes since the initial version, please see the addon changelog.
Note: I don't recommend having the screensaver power off the FTV as it has no power button. This ability is geared toward other Android devices.

Prequisites:
  1. Root the FireTV
  2. Install Xposed framework
  3. Install rbox's Xposed module to allow alternate Home launchers

Important Notes:
  • This package is signed with One Click APK Signer, so it will have a different signature than official releases of XBMC. As such, you will need to uninstall any official XBMC releases first, and may lose any previous settings in XBMC. I recommend using the XBMC Backup addon in the official XBMC.org Repo to backup and restore your XBMC settings.
  • Make sure you actually enable rbox's Xposed module by ticking the checkbox in Xposed Installer's Modules section. This may require a mouse.


Download:
Kodi 16.0
AndroidFileHost: signed-launcher-kodi-16.0-Jarvis-armeabi-v7a.apk
MD5: bb2ff4132e3eead785ef2c16dd7c153c

Kodi 15.2
AndroidFileHost: signed-launcher-kodi-15.2-Isengard-armeabi-v7a.apk
MD5: b06b152f3d872a1e36f55a00fa2a223e

Kodi 15.1
AndroidFileHost: signed-launcher-kodi-15.1-Isengard-armeabi-v7a.apk
MD5: 67d6193208301a78c209d2fff5ed8947

Kodi 15.0
AndroidFileHost: signed-launcher-kodi-15.0-Isengard-armeabi-v7a.apk
MD5: 6e68aed89437bc47a0b551a98bc3cab7

Kodi 14.2
AndroidFileHost: signed-launcher-kodi-14.2-Helix-armeabi-v7a.apk
MD5: ce52c8b78cbf7c7150134c59b266f993

Kodi 14.1
AndroidFileHost: signed-launcher-kodi-14.1-Helix-armeabi-v7a.apk
MD5: 50b3a50bbd9d66058e446db32aaff060

Kodi 14.0
AndroidFileHost: signed-launcher-kodi-14.0-Helix-armeabi-v7a.apk
MD5: 3ba955488d1293bb7106140930993d5b

XBMC 13.2
Google Drive: signed-xbmc-13.2-FireTV(v8).apk
Dev-Host: signed-xbmc-13.2-FireTV(v8).apk
MD5: ebd85f240253add67197112911ae68f0

XBMC 13.1
AndroidFileHost: signed-xbmc-13.1-FireTV(v6).apk
MD5: 0b3e5cdbc8e058102595418fb78964fd
The Following 36 Users Say Thank You to elmerohueso For This Useful Post: [ View ] Gift elmerohueso Ad-Free
 
 
21st June 2014, 07:41 PM |#2  
Member
Thanks Meter: 23
 
More
Works good.

Like the key mapping.

It was annoying to hit the back button and have the video keep playing.

Thanks
22nd June 2014, 04:22 AM |#3  
Junior Member
Thanks Meter: 0
 
More
Hi
This works great, running the exact setup described here.

Just wondering how can I return to the firetv launcher if I ever need to?

in case xbmc failed or something, and I need to reinstall it.

or to run other .apk

Thanks
22nd June 2014, 05:42 AM |#4  
Senior Member
Thanks Meter: 211
 
More
Thanks so much! I was about to return my Fire TV until I installed this. Now I might buy 1 or 2 more before they patch the root method.



I can send links to the TV with Chrome to phone.
Superbeam is great for fast file transfers from my phone.
ES File explorer I use as an FTP server so I can transfer from my PC.
I can use it like a Chromecast with BubbleUPNP

And most importantly the remote lets me do it all and the XBMC behaves perfectly.
The Following User Says Thank You to dc211 For This Useful Post: [ View ] Gift dc211 Ad-Free
22nd June 2014, 05:49 AM |#5  
elmerohueso's Avatar
OP Senior Member
Flag Provo
Thanks Meter: 223
 
Donate to Me
More
Quote:
Originally Posted by zantrax0r

Hi
This works great, running the exact setup described here.

Just wondering how can I return to the firetv launcher if I ever need to?

in case xbmc failed or something, and I need to reinstall it.

or to run other .apk

Thanks

The APK doesn't actually replace the KFTV Launcher on the system. You can access the KFTV Launcher, or any other app on the box, directly from XBMC by going to Programs > Android Apps.

If anything ever goes wrong and XBMC can't boot, you'll automatically go to the KFTV Launcher. That is due to how rbox's Xposed mod works; it looks for any installed app with a HOME intent (which my modified XBMC package has), and then falls back to the KFTV Launcher if it can't find one.
22nd June 2014, 06:43 AM |#6  
Member
Flag Palm Desert, CA
Thanks Meter: 16
 
More
I use the exit option in XBMC in order to restart it.
22nd June 2014, 03:56 PM |#7  
elmerohueso's Avatar
OP Senior Member
Flag Provo
Thanks Meter: 223
 
Donate to Me
More
Quote:
Originally Posted by hmagoo

I use the exit option in XBMC in order to restart it.

To restart XBMC, or the box?
You can still kill XBMC by starting the KFTV Launcher under Android Apps and killing XBMC there.
To reboot the KFTV altogether, hold down Select and Play for 5 seconds.

Why do you need to restart XBMC if it's the launcher? Only scenario I can think of is if XBMC froze, but then you wouldn't be able to access the Exit button anyway.
22nd June 2014, 08:20 PM |#8  
htpcforall's Avatar
Junior Member
Flag san diego
Thanks Meter: 16
 
More
Exiting XBMC
Quote:
Originally Posted by elmerohueso

To restart XBMC, or the box?
You can still kill XBMC by starting the KFTV Launcher under Android Apps and killing XBMC there.
To reboot the KFTV altogether, hold down Select and Play for 5 seconds.

Why do you need to restart XBMC if it's the launcher? Only scenario I can think of is if XBMC froze, but then you wouldn't be able to access the Exit button anyway.

It's often necessary to Exit or restart XBMC. Many add-ons require XBMC to restart to complete a function. Also, when checking/reading logs, refreshing Keymaps, etc.

I have found that being able to easily EXIT XBMC is crucial.
22nd June 2014, 09:34 PM |#9  
elmerohueso's Avatar
OP Senior Member
Flag Provo
Thanks Meter: 223
 
Donate to Me
More
Quote:
Originally Posted by htpcforall

It's often necessary to Exit or restart XBMC. Many add-ons require XBMC to restart to complete a function. Also, when checking/reading logs, refreshing Keymaps, etc.

I have found that being able to easily EXIT XBMC is crucial.

Since I use this as my always-on launcher, and already have it customized to the setup I want, I'm not exiting XBMC very frequently. In fact, the only time I do is to install a new XBMC build. But I do see where you're coming from. I've just found other ways around it.

I've found that most addons, keymaps, and other setting changes don't actually require you to fully exit XBMC, but just to logoff your XBMC profile and log back in (which will reload everything in your userdata folder). For logs and debugging I either pull the logs to my PC over SSH/SFTP/ADB, or use the Log Uploader addon. Both can be done with XBMC still running. For the few times I do want to fully reboot XBMC, I either access KFTV Launcher via Program > Android Apps and Force Stop XBMC in there, or I just reboot my FTV.

However, do keep in mind that my removal of the Exit feature only affects the Confluence skin itself. The feature has not been removed from XBMC. I may decide to re-package my modified Confluence skin rather than overwrite the original, though. I guess I could also create a Program addon to kill/restart XBMC, so it can still be done but is hidden away from kids. In the meantime, you could either try the workarounds I suggested or use another skin altogether.
22nd June 2014, 10:20 PM |#10  
Junior Member
Thanks Meter: 0
 
More
Can't install
Please help!

I keep getting this error message upon installation through terminal.

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

Any help would be greatly appreciated. Thank you.
22nd June 2014, 10:35 PM |#11  
elmerohueso's Avatar
OP Senior Member
Flag Provo
Thanks Meter: 223
 
Donate to Me
More
Quote:
Originally Posted by scardface

Please help!

I keep getting this error message upon installation through terminal.

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

Any help would be greatly appreciated. Thank you.

Since this build has a different signature than official releases of XBMC, you cannot install it over the top of official builds. You will need to uninstall the official XBMC releases first, and you may lose any previous settings in XBMC. I recommend using the XBMC Backup addon in the official XBMC.org Repo to backup your XBMC settings prior to uninstalling, the use it to restore the settings after installing my build.
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes