Has anyone figured out how to get an app to appear on the Fire TV home screen? Is it something programmed into the app, or is the Home screen somehow linked to the Appstore, thus only allowing apps in the Appstore to be listed on the Home screen?
Has anyone figured out how to get an app to appear on the Fire TV home screen? Is it something programmed into the app, or is the Home screen somehow linked to the Appstore, thus only allowing apps in the Appstore to be listed on the Home screen?
Has anyone figured out how to get an app to appear on the Fire TV home screen? Is it something programmed into the app, or is the Home screen somehow linked to the Appstore, thus only allowing apps in the Appstore to be listed on the Home screen?
I would place bets that it has to be signed somehow by amazon in order for it to show up on the main screen. Or like the kindle fire they put an option in to allow unauthorized apps.
From https://developer.amazon.com/sdk/asb/faq.html#General , it appears Amazon checks if an app is sideloaded and doesn't show it on the main screen if it is. One of the way they could do so is to check from which application the apk was installed, which would return nothing when we sideload via adb.
I would place bets that it has to be signed somehow by amazon in order for it to show up on the main screen. Or like the kindle fire they put an option in to allow unauthorized apps.
this was my thought too.
so I pulled a copy of spotify from google, and a copy from amazon store. the amazon version does not show up in my apps list like it did for dhayman11. but the only version I could get from amazon was "kindle tablet" whereas dhayman11 said his version was kindle fire.
Yeah I just tried to replicate it and its not showing up in my "apps library" list now either. Must have been a glitch or something. It was likely the "Kindle tablet" version, rather than "Kindle fire" version, I just remember it said something about being the kindle version.
It probably has to do with the exact app name (com.amazon.bah.blah.blah). I sideloaded updated Plex app (paid app), since amazon store is behind, and it shows on the home screen.
So if it's on the amazon store, and available for Fire TV, and has the same name, then it will probably show regardless of where it came from, version, or if it was sideloaded.
No, it just needs to be signed by Amazon.
Remember, this is the Apple-era, where only losers sell hardware for a profit. The winners make a profit off everything you do with "your" hardware. Amazon didn't make Fire TV so you can have a cheap HTPC box to do as you please, they made it for you to consume content provided by Amazon. This is why you can't have you apps show up on the home screen, this is also why the Home button on the remote can not be rebound or overridden, and this is also why the voice search feature will only give you results from Amazon.
Explain how a sideloaded app taken from Google play shows on home page then? A version not available on amazon.
the plex thing, who knows. it's a paid app so that's one major difference with everything else we've been playing with.
it's not the classname - amazon is using the same exact namespace as google and anyone else.
com.amazon.kindle
com.pandora.gtv
com.estrongs.android.taskmanager
etc...
because you don't go messing around with namespaces. no one does. for one thing, changing the classname is a licensing problem - quite likely breaking the law. and in practical terms, you could easily end up having 2 versions of the same app fighting over the same resource media/settings/etc. deadlock and threading issues, dirty reads abound.
if I sideload com.pandora.gtv taken from google, it stays in the kiddie menu.
if I sideload the pandora apk that I ganked from the amazon app store, it goes to the app menu.
but in both cases, running "adb shell pm list packages -f" reports that the firetv sees the app as: com.pandora.gtv
how does the firetv decide what happens when you sideload an app? I don't know. I have a moderately good guess.
there are:
- some extra indicator/tag files
- different RSA signatures/certs (check out META-INF)
- possibly non-trivial differences in the manifest xml
below is some info about some indicator files that are in the amazon apks. but not in non-amazon apks.
you can see that 2 of the files are identical between the 2 apks, but still generically saying hey this is some amazon apk not a regular one.
and then there is 1 file that is different. some sort of specific signature or hash.
(each com.amazon.content.id.$FOO file simply contains "$FOO" - it's some sort of unique generated string but no idea what it relates to)
com.amazon.content.id.MC-S-2UIMENB7RPX86 2b9caef13142184773d485b1aca955b5
com.amazon.kiwi.version 647a47a71e371ae13642b26cb75c593f
kiwi 96ac1624b345483aa1b393fe52624ddd
com.amazon.content.id.MC-S-1UVY84RC4VBZ6 60e678411e0e696dee205591a51609b6
com.amazon.kiwi.version 647a47a71e371ae13642b26cb75c593f
kiwi 96ac1624b345483aa1b393fe52624ddd
between this stuff and the RSA certs, that's probably how the firetv is set up to decide how to sort out where to put things.
I imagine similar with OUYA or any platform where this kind of split-userspace thing is going on...
Yeah, that stuff is kinda over my head (I guess I was wrong on that classname stuff). I was mostly pointing out that the latest version of paid Plex app, taken from google play store and sideloaded on Fire TV shows the app on the homescreen, even though the version from amazon is older and different.
the plex thing, who knows. it's a paid app so that's one major difference with everything else we've been playing with.
it's not the classname - amazon is using the same exact namespace as google and anyone else.
com.amazon.kindle
com.pandora.gtv
com.estrongs.android.taskmanager
etc...
because you don't go messing around with namespaces. no one does. for one thing, changing the classname is a licensing problem - quite likely breaking the law. and in practical terms, you could easily end up having 2 versions of the same app fighting over the same resource media/settings/etc. deadlock and threading issues, dirty reads abound.
if I sideload com.pandora.gtv taken from google, it stays in the kiddie menu.
if I sideload the pandora apk that I ganked from the amazon app store, it goes to the app menu.
but in both cases, running "adb shell pm list packages -f" reports that the firetv sees the app as: com.pandora.gtv
how does the firetv decide what happens when you sideload an app? I don't know. I have a moderately good guess.
there are:
- some extra indicator/tag files
- different RSA signatures/certs (check out META-INF)
- possibly non-trivial differences in the manifest xml
below is some info about some indicator files that are in the amazon apks. but not in non-amazon apks.
you can see that 2 of the files are identical between the 2 apks, but still generically saying hey this is some amazon apk not a regular one.
and then there is 1 file that is different. some sort of specific signature or hash.
(each com.amazon.content.id.$FOO file simply contains "$FOO" - it's some sort of unique generated string but no idea what it relates to)
com.amazon.content.id.MC-S-2UIMENB7RPX86 2b9caef13142184773d485b1aca955b5
com.amazon.kiwi.version 647a47a71e371ae13642b26cb75c593f
kiwi 96ac1624b345483aa1b393fe52624ddd
com.amazon.content.id.MC-S-1UVY84RC4VBZ6 60e678411e0e696dee205591a51609b6
com.amazon.kiwi.version 647a47a71e371ae13642b26cb75c593f
kiwi 96ac1624b345483aa1b393fe52624ddd
between this stuff and the RSA certs, that's probably how the firetv is set up to decide how to sort out where to put things.
I imagine similar with OUYA or any platform where this kind of split-userspace thing is going on...
I'm using Llama app to access XBMC from the FTV home page. I downloaded an app from Amazon app store that I was never going to use "Classic TV" and created an event in Llama to launch XBMC instead of the other app.
You can go to the XBMC wiki page for the whole instructions about sideloading to FTV. To get the Llama app go to the developer page and download app for sideloading: http://kebabapps.blogspot.com/.
From XBMC.org Wiki for FTV:
Launch XBMC from an Existing App on the FTV Home Screen
There is a alternative way to invoke XBMC from the FTV Home Screen using Llama. This method uses a “sacrificial” app that you have installed from Amazon that you will use to access XBMC. The app can be anything you have installed but don’t need to use; however, some apps behave better than others (some apps will enter a loop when exiting XBMC). One app that has been tested and works well for this purpose is “Classic TV”.
The advantage of this method is that using the sacrificial app you have Home Screen Access to XBMC and you can exit XBMC to the FTV Home Screen just as you would any other FTV app.
4.1 Prerequisites
Llama side loaded on your FTV.
The app called “Classic TV” from the Amazon app store.
One Llama Event (described below).
4.2 Procedure
- Install / side-load Llama.
- Install “Classic TV” app from Amazon app store.
- Launch Llama (From FireTV - Settings > Applications > Llama > Launch Application).
- Go to EVENTS on top menu and click '+' to add a NEW EVENT.
- In your NEW EVENT select ADD CONDITION then, from the Menu select 'Active Application' and select 'Choose App’. Scroll through the list of apps until you find “Classic TV” and select this app. Doing this should return you to the Events Menu.
- Next, select ADD ACTION and select 'Run Application' from the Menu list. From here, select whatever the name of your XBMC build is. That should create your event. At this point you can also name your event to distinguish it from others.
- Now when you start the “Classic TV” app from the Home Screen, it should automatically open XBMC. Feel free to experiment with other apps from the FTV app store. Just be aware that some will loop back and re-start XBMC when you try and exit XBMC to get back to the FTV Home Screen.