Google Confirms “Android Lollipop Day” for November 3rd

A little over a week ago, Google announced the latest iteration of … more

Get Your XDA 2015 Custom Avatar and Signature Images Here

As stated in our motto, XDA Developer is for developers, by developers. The … more

Pin Your Photos on Android Lollipop with Photo Pinner

In the last few weeks,we have been talking quite a bit about Android 5.0 Lollipop. This … more

Samsung Galaxy Note Edge Hands On – XDA TV

Perhaps one of the more peculiar announcements this year was the curved edge-screened … more
Post Reply

Make an app show up on the Home screen?

OP elmerohueso

15th April 2014, 03:43 AM   |  #11  
Senior Member
Long Island, NY
Thanks Meter: 333
 
1,179 posts
Join Date:Joined: Nov 2009
More
Quote:
Originally Posted by sadboyzz

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.

Sent from my Nexus 5 using Tapatalk
15th April 2014, 04:24 AM   |  #12  
tarvoke's Avatar
Member
Flag Slightly Outside America
Thanks Meter: 23
 
99 posts
Join Date:Joined: Mar 2011
Quote:
Originally Posted by Luxferro

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...
Last edited by tarvoke; 15th April 2014 at 04:27 AM.
15th April 2014, 04:31 AM   |  #13  
Senior Member
Long Island, NY
Thanks Meter: 333
 
1,179 posts
Join Date:Joined: Nov 2009
More
Quote:
Originally Posted by tarvoke

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.
15th April 2014, 04:42 AM   |  #14  
tarvoke's Avatar
Member
Flag Slightly Outside America
Thanks Meter: 23
 
99 posts
Join Date:Joined: Mar 2011
Quote:
Originally Posted by Luxferro

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.

yeah that really makes little to no sense I mean, I'm glad it works, and I'm sure plex-using-peoples of the world are very happy. but I have zero clue

right now I am still feeling way too lazy to download the free sdk and learn how to use it. but it does all the correct signing stuff i.e. any app you make with it should go into the grownup app menu on the home screen. and it might even be possible to use it to re-sign apk files from non-amazon sources.
15th April 2014, 02:23 PM   |  #15  
Junior Member
Thanks Meter: 0
 
10 posts
Join Date:Joined: Apr 2014
Quote:
Originally Posted by tarvoke

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...


On submission to the Amazon Appstore, Amazon signs all of your apps with a secure key for your account. The resulting hash code is unique to your app and different from any hash codes you may have for that app in different app stores. I wonder if someone can sign up for a dev account, get the hash keys and apply it locally to a sideloaded app and then load it into the fire tv.
15th April 2014, 02:24 PM   |  #16  
Member
Thanks Meter: 7
 
66 posts
Join Date:Joined: Apr 2014
Interesting..


Sent from my iPhone using Tapatalk
30th May 2014, 09:45 PM   |  #17  
Junior Member
Thanks Meter: 10
 
24 posts
Join Date:Joined: Jan 2013
Thumbs up Use Llama to lunch XBMC or other Apps from FTV Home
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
  1. Install / side-load Llama.
  2. Install “Classic TV” app from Amazon app store.
  3. Launch Llama (From FireTV - Settings > Applications > Llama > Launch Application).
  4. Go to EVENTS on top menu and click '+' to add a NEW EVENT.
  5. 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.
  6. 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.
  7. 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.

The Following 2 Users Say Thank You to gmicalzoma For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Fire TV Q&A, Help & Troubleshooting by ThreadRank