As long as you are compiling with a version of the SDK that supports TV development, you should be able to export regular AIR apps that work on the TV in the usual way. If you are using native extensions, then you have to use ADT directly to produce an ANE file. You can do that with the comand line, with an Ant script, or by configuring it as an External Program in Flash Builder.
Hey Joe, thanks for the quick response.
I think my problem was that I was using Burrito/Hero which doesn't seem to have the AIR 2.5 SDK in it, I grabbed the AIR 2.5 SDK off the main site, crammed it into a copy of the Flex Hero SDK and I was able to alter and build the reversi demo and run it.
I then tried creating a really basic air app using a flex button but the flex visual components don't seem to show up when I run it on a TV. Is it possible (or reccommended) to use flex components in an AIR for TV application or will these apps need seperate non-flex UIs created for them?
Flex should work on TV, I think -- it is just ActionScript at the end of the day. Possibly RSLs are not supported on TV, though. You might check how the Flex libraries are linked to your application and make sure that they are linked statically.
I was finally able to get my app on a Samsung TV. Here's some more info on this subject. You actually have to overlay the Air 2.6 SDK - not the 2.5 SDK.
Also make sure when you finally package the TV app to change the application XML to point to 2.5,. During development you can leave it as 2.6.
What tools do developers use to create AIR 2.5.1 apps for TVs?
Developers can use the following tools:
- AIR 2.6 SDK
- Flash Professional CS5 Extension for AIR 2.5 (now an integral feature in Flash Professional CS5.5)
- Flash Builder 4.5
Note: Developers can use the AIR 2.6 SDK for developing apps for AIR 2.5.1 for TV. In Flash Professional, set the publish settings to Adobe AIR 2.5. In Flash Builder, set the AIR namespace to 2.5 in the app descriptor file:
If you are using Flash Builder 4.5, you must do the following:
- Download the Flex 126.96.36.19976 SDK.
- Download the AIR 2.6 SDK.
- Copy each file from the AIR 2.6 SDK into the corresponding directory within the Flex 4.1 SDK, replacing the Flex original variants.
- To use this SDK within Flash Builder, select your project in the Flash Builder package explorer.
- Choose Project > Properties to open the project's Properties dialog box.
- Select Flex Compiler in the list and then click the "Configure Flex SDKs" link to open the Preferences dialog box.
- Click the Add button, browse to the SDK, and then click OK until you get back to the project's Properties dialog box.
- Click the "Use a specific SDK" option and then pick Flex 4.1 from the drop-down menu.
You must also replace the default WindowedApplication element with Application in your project's MXML file.
Could you please share your Samsung SmartTV model number (D7000, D8000, etc.)?
sure. It's d8000.
Thanks. I am working on an app and have a D6000 model, which does not appear to be on the 'blessed' list of AIR-capable SmartTV's. I'm still waiting for word back from Samsung support, but the strange thing is that the content will run- except for any bitmaps (they appear as blank or red rectangles, which I have seen in past projects- as an indication of not having enough memory to display things).
I'm pretty sure the D6000 is running a Cortex-A8 cpu but I'm not sure of the ram.
Would you happen to know if the D8000 uses a different (better?) cpu?
I do not know the specifics of the hardware used for the D8000.
However, I have also experienced problems with my app. None of my dynamically loaded JPGs load, but my dynamically loaded PNGs do load. Also, bitmaps from a library SWF file and embedded into the code at compile time do not always appear. But the embeded assets that do load, always load and the embedded assets that do not load, never load. I wonder if these image problems are caused by not having enough memory as you have found in your project.
Also note worthy, a bluray player running my app (I think a d6500 model) does load the dynamically loaded JPGs and the embedded assets, but that device has a different set of issues.
I also have found that attempting to seek a video doesn't behave as expected. After I seek the Netstream, the video continues to play for a few seconds w/o any sound and then pauses. Before a recent firmware update, attempting to seek a video caused the video to vanish.
That is all good stuff to know, thanks for sharing.
Samsung just confirmed that the TV I am using (the D6000) is not AIR-capable but did not offer any specifics as to why. At any rate, it's not supported.
The lack of AIR support on some of the SmartTV line has me wondering if a Flash 9, AS2 based app using the 'other' player might be a good way to go, for maximum reach...
For what it's worth I also applied the firmware update, bringing my system software to 001019.
I think those have Flash Lite for Digital Home. So you could still use that if you are a big AS2 fan I suspect that the red images are probably decoding problems not memory (I could be wrong about this). Are you using lots of images? There should be plenty of memory for at least a full screen of images. I think the bigger problem is that the decoder probably doesn't understand the image data so it displays a red rect. I would try it with some PNG images and see if it still works.
Curious about the SmartTV Flash player capabilities, I made a quick tool. The OS is reported as 'stagecraft-os' and the player version is Linux 9,10,122,202.
Feel free to download the tool here if you want to run it on your device (I anticipate everyone will have the same results, unless the player is updated in the future- or if it is somehow different for the higher-end 7000 or 8000 models).
When running my Adobe Air app, I have found the following:
Capabilities.os == Adobe Linux
Capabilities.manufacturer == General TV
Capabilities.version == LNX 10,1,82.76
Capabilities.playerType == desktop
With your app, how do you get the name of the Samsung SmarTV model, "UN32D6000SFXZA" ? Is that dynamically driven?
Whoa... that sounds like an honest-to-goodness 10.1 player to me! Interesting.
Oh, wait- you got that when you ran capabilites under AIR- so actually the 10.1 player makes sense.
Did you happen to run the test app as-is (with just the Flash player?) If so did you see the same results?
no, I didn't run your flash app. As you pointed out, I ran this within Air. I'll take a look at your app later.